CN110727543A - Commercial asymmetric cryptographic algorithm hardware module - Google Patents
Commercial asymmetric cryptographic algorithm hardware module Download PDFInfo
- Publication number
- CN110727543A CN110727543A CN201910885731.1A CN201910885731A CN110727543A CN 110727543 A CN110727543 A CN 110727543A CN 201910885731 A CN201910885731 A CN 201910885731A CN 110727543 A CN110727543 A CN 110727543A
- Authority
- CN
- China
- Prior art keywords
- module
- ecc
- error
- check code
- data
- 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
- 230000004044 response Effects 0.000 claims description 3
- 230000015654 memory Effects 0.000 abstract description 6
- 230000006870 function Effects 0.000 abstract description 5
- 238000000034 method Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
Images
Classifications
-
- 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/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
Abstract
The invention relates to a commercial asymmetric cryptographic algorithm hardware module, which is technically characterized in that: the system comprises a check code generation module, an error positioning module and a finite state control logic module which are arranged on an FPGA (field programmable gate array), wherein the modules are connected with an NAND Flash main controller and an NAND Flash chip, read-write signals and data are captured through a control line and a data line, and the ECC (error correction code) check function is enabled and disabled by setting or resetting a corresponding register. The invention has reasonable design, adopts an FPGA hardware structure, realizes the ECC function by the mutual matching of the check code generating module, the error positioning module and the finite state control logic module with the NAND Flash main controller and the NAND Flash chip, has good error correction capability, remarkably improves the read-write performance of the storage system, and can be widely applied to a large-capacity solid-state memory.
Description
Technical Field
The invention belongs to the technical field of large-capacity solid-state memories, and particularly relates to a commercial asymmetric cryptographic algorithm hardware module.
Background
In recent years, in high-speed data exchange devices, solid-state memories have been increasingly used because they can perform very fast data exchange at high frequencies because they use transistors to store data. The problem of data dislocation exists in the use process of the large-capacity solid-state memory. For the problem of data dislocation in a large-capacity solid-state memory, a software ECC model is usually used for checking and correcting, but the software ECC model is used for checking and correcting, which inevitably affects the read-write performance of the storage system.
Disclosure of Invention
The invention aims to overcome the defects in the prior art and provide a commercial asymmetric cryptographic algorithm hardware module which is reasonable in design, high in processing speed and stable in performance.
The technical problem to be solved by the invention is realized by adopting the following technical scheme:
a commercial asymmetric cryptographic algorithm hardware module comprises a check code generation module, an error positioning module and a finite state control logic module which are arranged on an FPGA (field programmable gate array), wherein the modules are connected with a NAND Flash main controller and a NAND Flash chip, read-write signals and data are captured through a control line and a data line, and the ECC (error correction code) check function is enabled and disabled by setting or resetting a corresponding register.
The ECC check code generation module divides each page of data with the size of 4KB into 8 groups of 512-byte data blocks, each group corresponds to 3-byte parity check codes, 8 registers with the size of 3 bytes in the check code generation module update parity check values in a response mode according to the sent address and data, and finally the ECC check code is generated.
When the NAND Flash chip is read, the first 4KB data read out by the error positioning module is recalculated by the ECC check code generation module, and finally 24 bytes are shifted by the error positioning module and stored in the ECC storage value register, and compared with the ECC calculated value newly generated by the ECC check code generation module, whether a data bit has an error is judged, and the type and the position of the error are stored in the error information register.
The finite state control logic module controls the working time sequence of the check code generation module and the error positioning module, and simultaneously outputs a state signal according to the current state information.
The invention has the advantages and positive effects that:
the invention adopts FPGA hardware structure, realizes ECC function by the mutual cooperation of the check code generation module, the error positioning module and the finite state control logic module with the NAND Flash main controller and the NAND Flash chip, has good error correction capability, remarkably improves the read-write performance of the storage system, and can be widely used in large-capacity solid-state memories.
Drawings
FIG. 1 is a schematic structural view of the present invention;
Detailed Description
The following describes the embodiments of the present invention in detail with reference to the accompanying drawings.
A commercial asymmetric cryptographic algorithm hardware module is shown in figure 1 and comprises a check code generation module, an error positioning module and a finite state control logic module, wherein the modules are realized by an FPGA chip and connected with an NAND Flash main controller and an NAND Flash chip. The module captures read-write signals and data through a control line and a data line, enables and disables an ECC (error correction code) check function through setting or resetting a corresponding register, directly receives signals of the NANDFlash main controller and transmits the signals to the NAND Flash chip when the module does not need to work, intercepts control signals of the NAND Flash main controller when the module needs to work, analyzes and processes the control signals, and then transmits the control signals to the NANN Flash chip. The following explains three modules separately:
1. an ECC check code generation module: since the NAND Flash is performed by taking a page as a unit when data is read and written, the module is combined with an ECC (error correction code) checking algorithm to divide data with the size of 4KB on each page into 8 groups of 512-byte data blocks, and each group corresponds to 3-byte parity check codes. According to the sent address and data, 8 registers with the size of 3 bytes in the check code generation module update the parity check value in response, and finally generate the ECC check code.
2. An error positioning module: when the NAND Flash chip carries out reading operation, the read-out first 4KB data is recalculated with the ECC value by the ECC check code generation module. Finally, the 24 bytes are shifted and stored into an ECC storage value register by the error positioning module, compared with an ECC calculated value newly generated by the ECC check code generation module, whether a data bit has an error is judged, and the type and the position of the error are stored into an error information register.
3. A finite state control logic module: the ECC finite state control logic controls the working time sequence of the whole ECC functional module and outputs a state signal according to the current state information.
Nothing in this specification is said to apply to the prior art.
It should be emphasized that the embodiments described herein are illustrative rather than restrictive, and thus the present invention is not limited to the embodiments described in the detailed description, but also includes other embodiments that can be derived from the technical solutions of the present invention by those skilled in the art.
Claims (4)
1. A commercial asymmetric cryptographic algorithm hardware module, comprising: the system comprises a check code generation module, an error positioning module and a finite state control logic module which are arranged on an FPGA (field programmable gate array), wherein the modules are connected with an NAND Flash main controller and an NAND Flash chip, read-write signals and data are captured through a control line and a data line, and the ECC (error correction code) check function is enabled and disabled by setting or resetting a corresponding register.
2. The commercial asymmetric cryptographic algorithm hardware module of claim 1, wherein: the ECC check code generation module divides each page of data with the size of 4KB into 8 groups of 512-byte data blocks, each group corresponds to 3-byte parity check codes, 8 registers with the size of 3 bytes in the check code generation module update parity check values in a response mode according to the sent address and data, and finally the ECC check code is generated.
3. The commercial asymmetric cryptographic algorithm hardware module of claim 1, wherein: when the NAND Flash chip is read, the first 4KB data read out by the error positioning module is recalculated by the ECC check code generation module, and finally 24 bytes are shifted by the error positioning module and stored in the ECC storage value register, and compared with the ECC calculated value newly generated by the ECC check code generation module, whether a data bit has an error is judged, and the type and the position of the error are stored in the error information register.
4. The commercial asymmetric cryptographic algorithm hardware module of claim 1, wherein: the finite state control logic module controls the working time sequence of the check code generation module and the error positioning module, and simultaneously outputs a state signal according to the current state information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910885731.1A CN110727543A (en) | 2019-09-19 | 2019-09-19 | Commercial asymmetric cryptographic algorithm hardware module |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910885731.1A CN110727543A (en) | 2019-09-19 | 2019-09-19 | Commercial asymmetric cryptographic algorithm hardware module |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110727543A true CN110727543A (en) | 2020-01-24 |
Family
ID=69219192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910885731.1A Pending CN110727543A (en) | 2019-09-19 | 2019-09-19 | Commercial asymmetric cryptographic algorithm hardware module |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110727543A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111538622A (en) * | 2020-04-24 | 2020-08-14 | 上海航天电子通讯设备研究所 | Error correction method for satellite-borne solid-state memory |
WO2023019742A1 (en) * | 2021-08-19 | 2023-02-23 | 无锡中微亿芯有限公司 | Fpga having automatic error checking and correcting function for programmable logic module |
US11604692B2 (en) | 2021-08-19 | 2023-03-14 | Wuxi Esiontech Co., Ltd. | Field programmable gate array (FPGA) with automatic error detection and correction function for programmable logic modules |
WO2023244733A1 (en) * | 2022-06-16 | 2023-12-21 | Advanced Micro Devices, Inc. | Host-level error detection and fault correction |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7398449B1 (en) * | 2004-06-16 | 2008-07-08 | Azul Systems, Inc. | Encoding 64-bit data nibble error correct and cyclic-redundancy code (CRC) address error detect for use on a 76-bit memory module |
CN102142282A (en) * | 2011-02-21 | 2011-08-03 | 北京理工大学 | Method for identifying ECC verification algorithm of NAND Flash memory chip |
CN109036493A (en) * | 2018-06-11 | 2018-12-18 | 西北工业大学 | A kind of NAND Flash controller with error detection correction mechanism |
-
2019
- 2019-09-19 CN CN201910885731.1A patent/CN110727543A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7398449B1 (en) * | 2004-06-16 | 2008-07-08 | Azul Systems, Inc. | Encoding 64-bit data nibble error correct and cyclic-redundancy code (CRC) address error detect for use on a 76-bit memory module |
CN102142282A (en) * | 2011-02-21 | 2011-08-03 | 北京理工大学 | Method for identifying ECC verification algorithm of NAND Flash memory chip |
CN109036493A (en) * | 2018-06-11 | 2018-12-18 | 西北工业大学 | A kind of NAND Flash controller with error detection correction mechanism |
Non-Patent Citations (1)
Title |
---|
王轩等: "基于FPGA的NAND Flash ECC校验系统设计与实现", 《电子设计工程》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111538622A (en) * | 2020-04-24 | 2020-08-14 | 上海航天电子通讯设备研究所 | Error correction method for satellite-borne solid-state memory |
WO2023019742A1 (en) * | 2021-08-19 | 2023-02-23 | 无锡中微亿芯有限公司 | Fpga having automatic error checking and correcting function for programmable logic module |
US11604692B2 (en) | 2021-08-19 | 2023-03-14 | Wuxi Esiontech Co., Ltd. | Field programmable gate array (FPGA) with automatic error detection and correction function for programmable logic modules |
WO2023244733A1 (en) * | 2022-06-16 | 2023-12-21 | Advanced Micro Devices, Inc. | Host-level error detection and fault correction |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110727543A (en) | Commercial asymmetric cryptographic algorithm hardware module | |
US9015553B2 (en) | Data integrity in memory controllers and methods | |
EP2811392B1 (en) | Method and device for reducing read delay | |
KR101626084B1 (en) | Multi-chip memory system and data transfer method thereof | |
TWI595492B (en) | Data transmitting method, memory control circuit unit and memory storage device | |
TWI396202B (en) | Error correcting controller and flash memory chip system and error correcting method thereof | |
CN109491588B (en) | Memory management method, memory control circuit unit and memory storage device | |
TW201703052A (en) | Wear leveling method, memory storage device and memory control circuit unit | |
TW201514697A (en) | Data processing method, memory storage device and memory controlling circuit unit | |
KR20150029402A (en) | Data storing system and operating method thereof | |
US20200065190A1 (en) | Data storage device and method for sharing memory of controller thereof | |
TWI534607B (en) | Memory control circuit unit, data transmitting method and memory storage apparatus | |
TWI658361B (en) | Memory management method, memory control circuit unit and memory storage apparatus | |
US8898420B2 (en) | Non-volatile storage device and a memory controller controlling parity tables of recording regions of the non-volatile storage device | |
US20160253239A1 (en) | Data storage device and operating method thereof | |
TW201523616A (en) | Memory management method, memory controlling circuit unit, and memory storage device | |
TWI591640B (en) | Memory management method, memory control circuit unit and memory storage device | |
CN103531246A (en) | Quick memory error correction method with reading replacing writing | |
TWI629590B (en) | Memory management method, memory control circuit unit and memory storage device | |
TW201913384A (en) | Memory management method, memory control circuit unit and memory storage apparatus | |
TW201903779A (en) | Memory management method, memory control circuit unit and memory storage apparatus | |
TWI733375B (en) | Data transfer method and memory storage device | |
TW201643721A (en) | Method of accessing buffer memory, memory controller and memory storage device | |
CN113467709A (en) | Memory system and operating method thereof | |
TWI494944B (en) | Method of detecting memory modules, memory control circuit unit and storage appartus |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200124 |
|
RJ01 | Rejection of invention patent application after publication |