WO2008028400A1 - Procédé pour traiter simultanément plusieurs groupes de données au moyen d'un seul circuit ecc - Google Patents

Procédé pour traiter simultanément plusieurs groupes de données au moyen d'un seul circuit ecc Download PDF

Info

Publication number
WO2008028400A1
WO2008028400A1 PCT/CN2007/002412 CN2007002412W WO2008028400A1 WO 2008028400 A1 WO2008028400 A1 WO 2008028400A1 CN 2007002412 W CN2007002412 W CN 2007002412W WO 2008028400 A1 WO2008028400 A1 WO 2008028400A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
flash memory
ecc
written
width
Prior art date
Application number
PCT/CN2007/002412
Other languages
English (en)
French (fr)
Inventor
Qingyi Lin
Original Assignee
Fortune Spring Technology (Shenzhen) Corporation
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 Fortune Spring Technology (Shenzhen) Corporation filed Critical Fortune Spring Technology (Shenzhen) Corporation
Publication of WO2008028400A1 publication Critical patent/WO2008028400A1/zh

Links

Classifications

    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk

Definitions

  • the invention belongs to the field of flash memory storage, and is particularly suitable for the field of flash memory in which the system data bus width is expanded by a multiple of 8.
  • Flash memory and mechanical hard disk are the two mainstream data storage media on the market.
  • the main benefit of flash memory is power saving and small size.
  • the flash memory itself has some congenital defects, such as high price and the inability to guarantee the correctness of writing data after a long time of use. Therefore, to improve the above disadvantages, the life of the flash memory is required, the yield at the time of production is increased, the cost is reduced, and the ECC circuit is added to make the flash memory highly reliable. And a set of mathematical algorithms (such as Reed-Solomon) can be used to protect the data in time with the stored data and ECC (Error Correction Code) encoding/decoding hardware circuit.
  • ECC Error Correction Code
  • CelDc which is required by the MLC specification, requires an ECC encoding/decoding hardware circuit that can correct 4-bit errors when accessing a 512-bit block.
  • the ECC hardware processing mechanism on the market requires a set of ECC hardware circuits for each byte to be processed.
  • M represents how many flash memories are currently present
  • N indicates how many pulses have elapsed since the start of transmission.
  • C000 represents the current location where the transfer will exist in the buffer.
  • four sets of ECC encoding/decoding hardware circuits are required on a 32-bit wide data bus.
  • this approach requires two different hardware versions of the controller for 16-bit and 8-bit wide data bus applications. Because the number of different ECC hardware circuits is required, the controller is also used.
  • the object of the present invention is to encode, detect, and correct a 16/32/64-bit wide data stream by using a set of ECC (Error Correction Code) encoding/decoding circuits to protect the correctness of the data.
  • ECC Error Correction Code
  • one ECM data stream is processed for several different bytes of data.
  • the number of ECCs required when the data bus width is a multiple of 8 can be reduced, thereby achieving the purpose of reducing the cost.
  • the circuit When the data is written to the flash memory, the circuit can generate an error correction code in real time, and when the data on the data bus is transferred to a certain amount, the ECC circuit automatically writes the data protection to the stored flash memory. Physically. This advantage can reduce the number of ECC circuits used to achieve cost reduction.
  • the invention utilizes the method of multiplying the ECC operating frequency, and then cuts the timing of the ECC, and each timing sequentially processes a specific byte on the data bus, so that the basic timing and architecture of the controller data bus are not affected.
  • a set of ECCs can be used to perform data error checking and encoding actions.
  • the present invention can be applied to any storage device using flash memory to reduce the cost of the controller.
  • FIG. 1 System architecture diagram
  • Figure 3 Schematic diagram of system coding
  • FIG. 4 Schematic diagram of system decoding
  • the method used in the present invention is to perform the ECC execution speed in a multi-frequency manner, and the multiplication mode of the data bus of different widths is as shown in Figs. 5, 6, 7, and 8.
  • a basic processing unit of ECC is 8 bits, so the ECC execution frequency is multiplied by the width of the data bus divided by a multiple of 8. For example, if the current data bus operates at 30 MHz and the system data bus has a width of 32 bits, the system automatically sets the operating frequency of the ECC circuit to 120 MHz. And the ECC circuit will automatically divide the frequency into several parts. The first pulse will process the data from the 0th to the 7th bits on the data bus, and the next pulse will process the data from the 8th to the 15th, and then This type of push.
  • the user can set the width of the current data bus and the operating frequency of the data bus.
  • the ECC circuit must be able to automatically set the correct operating frequency.
  • the flash memory controller (100) When reading data, as shown in Figure 3, the flash memory controller (100) first initiates DMA to move data from the flash memory to the transfer buffer (103) via the ECC.
  • the ECC circuit automatically multiplies (101) according to the currently set data bus width.
  • the first pulse processes the lowest 8-bit data (107), and the next pulse processes the next lowest 8 data (107). Based on this analogy.
  • the data passes through the ECC circuit and is not immediately transferred to the remote. It is temporarily stored in a transfer buffer (103), which is 512 bytes in size.
  • the ECC check circuit When a basic message (528 bytes) is processed, the ECC check circuit
  • (104) will automatically check the status on the ECC circuit and confirm if an error has occurred. If no errors are found at this time, the system sends the data from the transmit buffer to the remote. If the data is found to be in error, the correction circuit will automatically capture the information necessary to correct the error on the ECC, and correct the error.
  • the flash memory controller (200) first starts the DMA to move the data from the receive buffer to the transfer flash memory via the ECC (203), and the ECC circuit will count the number. According to the bus width, the frequency multiplication (201) is automatically performed, and the first byte data is written to the first flash memory (206) at the first pulse time, and the next byte data is obtained when one pulse is executed. Write to the second flash memory (207), and so on.
  • the encoding circuit When the data is transferred to the 512th bit, the encoding circuit will automatically start, read the ECC buffer (202), and write the data into different flash memory according to the following principle, the first byte of the buffer is written. To the first flash memory, the second byte is written to the second flash memory, and the Nth byte is written to the Nth (the number of flash memory) flash memory. See Figure 10 for a detailed flowchart.
  • Flash Memory Storage Media The medium for data storage.
  • A20 Flash memory controller: Start DMA moves the data from the buffer area to the flash memory. When reading, it determines whether or not to perform the corrective action based on the decoded result.
  • A30 Microprocessor Controller: The main controller of the system, when it starts to send a write or read command to the flash memory control, it starts the system ECC related actions.
  • A40 ECC hardware circuit: Regardless of encoding or decoding, this circuit uses the mathematical algorithm of error detection theory to calculate the encoding or the result of debugging in real time for each data passing through the data bus.
  • A50 Transfer buffer: When data is read from the flash memory, the data is not directly transferred to the remote, and the data is first placed in this transfer buffer.
  • A55 Receive buffer: When data received by the remote is received, the data is first placed in this buffer and the data is not immediately written to the flash memory. Until the length of the data in the buffer is
  • the ECC mechanism is started to write data to the flash memory.
  • A60 Host Interface: This is the interface to communicate with the outside, such as USB or SD. This interface allows you to exchange data with other electronic devices.
  • ECC Buffer A buffer used in encoding, detecting, or correcting ECC hardware. For example, in the Reed-Solomon algorithm, this ECC buffer is Parity and Syndrome.
  • A90 Correction circuit: When the error detection circuit finds an error, it calls this circuit. With the ECC register, the data in the transfer buffer can be corrected. When all the errors are corrected, the Host Interface is notified to transfer the data in the buffer area.
  • A95 Encoding circuit: When data is written to the flash memory by the transfer buffer and completed, the encoding circuit is automatically started, and the value of the ECC buffer is written to the location where the ECC correction code is stored in the flash memory.
  • BIO NAND Flash Pool, where the flash memory is placed. Two xl6 of flash memory or four x8 of flash memory are required on a 32-bit wide data bus.
  • B20 Flash memory controller that receives commands from the core processor to be read or written by the flash memory. This command initiates DMA transfer data.
  • B30 DMA controller, responsible for moving data quickly.
  • B40 The data bus between the ECC hardware and the flash memory.
  • the width of this data bus can be set via the flash memory controller.
  • ECC buffer The buffer used in encoding, detecting or correcting in ECC hardware.
  • this ECC buffer is Parity and Syndrome.
  • B60 ECC hardware circuit, this hardware circuit does not modify the data on the data bus, it will cut the data into several 8-bit data and send it to the transmission buffer. Or the data on the receive buffer is accessed in 8-bit mode by multiplying, and then combined into data of B40 data bus width.
  • B70 Transfer buffer When the data is read from the flash memory, the data is not directly transferred to the remote, and the data is first placed in this transfer buffer.
  • B80 Receive buffer: When the data to be written by the remote is received, the data will be placed in this buffer first, and the data will not be written to the flash memory immediately. The ECC mechanism is started until the data in the buffer is 512 bytes long, and the data is written to the flash memory.
  • B90 The flash memory controller automatically sets the multiple of the multiplier according to the width of the current B40 data bus.
  • the invention provides an external tool program, a planable boot process, and a size of a solid state disk area. Replace NAND with NOR and NAND functions, and emulate disk drives with built-in driver entities for embedded systems (Embedded System:).
  • the invention utilizes the functions of Error Correction Code (ECC), Wear Leveling and Device Driver in NAND Flash to make the embedded system highly reliable.
  • ECC Error Correction Code
  • the CPU of the SoC type can provide a boot function without passing through the Internal ROM.
  • This embedded system utilizes flash storage and boot processing technology for any memory device that uses flash memory, such as: USB flash drive (USB Pendrive 1.1 /2.0), PMP Player > Slid State Disk, memory card and MP3 Player.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

单一 ECC电路并行处理多组数据的方法
技术领域
本发明属于闪存记忆体存储领域, 特别适用于系统数据总线宽度是以 8的 倍数进行扩展的闪存存储领域。在存取闪存记忆体时通过一组 ECC电路对多组 数据进行编码、 侦错以及修正的方法。
背景技术
闪存记忆体和机械式硬盘是目前市场上两个主流的资料存储媒介, 其中闪 存记忆体最主要的好处在于省电以及具有较小的体积。 目前市场上的 USB存储 盘、 MP3播放器、 PMP个人多媒体播放器以及 SD/MMC/MS等存储卡绝大部分 都是以闪存记忆体作为存储的媒介。
闪存记忆体本身有一些先天性的缺陷,例如价格高并且在长时间使用之后, 无法保证写入资料的正确性等等。 因此, 要改善以上的缺点就需要闪存记忆体 的使用寿命、 增加生产时的良率、 降低成本且加入 ECC电路来使闪存记忆体具 有高可靠性。 并可以利用一套数学的算法(例如 Reed-Solomon),搭配存储的资 料和 ECC (Error Correction Code) 编码 /译码硬件电路, 及时对资料进行保护。 目前闪存记忆体的种类分为 SLC (Single Level Cell) 与 MLC (Multiple Level
CelDc 其中 MLC的规格书上要求, 存取一个 512位字节的区块时需要可以修 正 4位字节错误的 ECC编码 /译码硬件电路。
目前市面上的 ECC硬件处理机制,对于每一个字节都需要一组 ECC硬件电 路来处理, 如图 9所示, M代表目前有多少颗闪存记忆体, N表示开始传输后 经过了多少个脉冲, 而 C000代表目前此传输会存在缓存区的位置。 举例来说, 在一个 32位宽的数据总线上就需要四组 ECC编码 /译码硬件电路。 此一作法除 了会增加硬件电路之外, 对于 16位和 8位宽数据总线的应用来说就需要两个不 同硬件版本的控制器, 因为需要不同的 ECC硬件电路数目, 所以也会对控制器
1
确认本 的生产和库存造成负担
发明内容 本发明的目的在于利用一组 ECC ( Error Correction Code )编码 /译码电路,对 16/32/64位宽的数据流进行编码、侦测以及修正以保护资料的正确性,且可以在 正常一个 ECC数据流时间内处理数个不同字节的资料。 透过本发明可以减少当 数据总线宽度为 8的倍数时所需要 ECC的数目, 达到降低成本的目的。
当资料被写入到闪存记忆体时, 此电路可即时产生错误修正码, 且当数据 总线上的资料传输到某一数量时, 此 ECC电路会自动的将资料保护写入到存储 的闪存记忆体上。 此优点可以降低 ECC电路的使用数目, 以达到降低成本的目 的。
本发明是利用将 ECC工作频率倍频的方式,然后将 ECC的时序切割,每个 时序依次处理数据总线上的一个特定的字节, 所以在不影响控制器数据总线的 基本时序及架构的前提下, 可以利用一组 ECC完成资料错误的检査以及编码的 动作。
本发明可以被应用在任何使用闪存记忆体的存储装置上, 以降低控制器的 成本。
附图说明
图 1 : 系统架构图
图 2: 系统组件图
图 3: 系统编码示意图
图 4: 系统译码示意图
图 5: 在 32位数据总线宽度时, ECC工作频率
图 6: 在 16位数据总线宽度时, ECC工作频率
图 7: 在 8位数据总线宽度时, ECC工作频率
图 8: 在 64位数据总线宽度时, ECC工作频率 图 9: 目前市场上 ECC 实际操作方式
图 10: ECC编码流程图
图 11 : ECC解码流程图
具体实施方式
基本上, 本发明所使用的方法是将 ECC的执行速度以倍频的方式进行, 不 同宽度的数据总线的倍频方式如图 5、 图 6、 图 7和图 8所示。 ECC 的一个基 本处理单元是 8 位, 故将 ECC 的执行频率乘上数据总线的宽度除以 8 的倍 数。 举例来说倘若目前数据总线的工作频率为 30 MHz, 系统数据总线的宽度为 32位, 则系统会自动的将 ECC电路 的工作频率设定在 120 MHz。 且 ECC 电 路会自动的将频率分割成数份, 于第一个脉冲会处理数据总线上第 0位到第 7 位 的数据, 下一个脉冲会处理第 8位到第 15位的数据, 然后依此类推。
使用者可以设定目前数据总线的宽度以及数据总线的工作频率, ECC 电路 必须可以自动的设定正确的工作频率。
为使审查人员可以更进一步的了解本发明的流程以及所使用的方法, 将本 方法的过程以及使用的方法, 利用下方面的流程图加以说明。
在读取数据时, 如图 3所示, 闪存记忆体控制器 (100)首先启动 DMA将数 据由闪存记忆体经由 ECC搬移到传送缓存区 (103)。 ECC 电路会自动根据目前 所设定的数据总线宽度进行倍频 (101),第一个脉冲会处理最低的 8位数据 (107), 下一个脉冲处理次低的 8个数据 (107), 并依此往下类推。 数据经过 ECC 电路 并不会马上的传送到远程, 会先暂存在一个传送缓存区中 (103), 此缓存区大小 为 512 字节。 当一个基本的讯息 ( 528 字节)处理完成时, ECC 的检查电路
(104)会自动检查 ECC 电路上的状态, 并确认是否有错误发生。 如果此时没有 发现错误, 系统会将传送缓冲区的数据送到远程。 如果发现数据有错误时, 修 正电路会自动的捉取 ECC 上修正错误时必要的信息, 进行修正错误的动作
(105)。 当修正动作结束时, 将数据送到远程 (106)。 详细的流程图请参阅图 11。 在写入数据时, 如图 4所示, 闪存记忆体控制器 (200)首先启动 DMA将数 据由接收缓存区经由 ECC(203)搬移到传送闪存记忆体中, ECC 电路会依据数 据总线宽度自动作倍频 (201)的动作, 在第一个脉冲时间将第 1个字节数据写入 到第一颗闪存记忆体 (206), 卞一个脉冲时, 将下一个字节数据写入到第二颗闪 存记忆体 (207), 依此类推。 当数据传送到第 512位时, 编码电路会自动启动, 读取 ECC 缓存器 (202), 并且将这些数据依照下面的原则写入不同的闪存记忆 体中, 缓存器的第 1个字节写到第一颗闪存记忆体, 第 2个字节写到第二颗闪 存记忆体, 第 N个字节写到第N% (闪存记忆体数目)颗闪存记忆体。详细的流程 图请参阅图 10。
附图中主要组件符号说明-
A10: 闪存记忆体存储媒介: 数据存储的媒介。
A20: 闪存记忆体控制器: 启动 DMA将资料由缓存区搬移到闪存中, 读取时, 根据译码的结果决定是否需要执行修正的动作。
A30: 微处理控制器: 系统的主要控制者, 当其开始对闪存记忆体控制送出写入 或是读出的命令时, 便开始系统 ECC相关的动作。
A40: ECC 硬件电路: 不论编码或是译码, 此电路会对数据总线上所经过的每一 个数据, 利用错误侦错理论的数学算法, 实时的算出编码或是侦错后的结 果。
A50: 传送缓存区: 当数据由闪存记忆体中读出时, 不直接将数据传送到远程, 先将数据放在此传送缓存区内。
A55: 接收缓存区: 当收到由远程所要写入的数据时, 会先将数据放在此缓存区 中, 并不会马上将数据写入到闪存记忆体中。 直到缓存区中的数据长度为
512字节时, 才启动 ECC机制, 将数据写入到闪存记忆体中。
A60: Host Interface: 此为和外面沟通的接口, 例如 USB 或是 SD等等。利用此 接口便可以和其它电子设备交换数据。
A70: ECC 缓存器: ECC 硬件中, 编码、 侦测或是修正时所需要用到的缓存器。 例如在 Reed-Solomon 算法中, 此 ECC 缓存器便是 Parity 以及 Syndrome缓存器。 A80:侦测电路: 此一电路用在检查在读取的过程中, 是否有错误发生。 如果没 有错误发生, 通知 Host Interface将传送缓存区内的数据送出。
A90:修正电路: 当侦错电路发现错误时, 便呼叫此电路。 利用 ECC 暂存器, 便可以对传送缓冲存区内资料作修正的动作。 当所有的错误都修正之后, 通知 Host Interface传送缓存区内的数据送出。
A95:编码电路: 当数据由传送缓冲区写入闪存记忆体并完成时, 编码电路会自 动启动, 将 ECC 缓存器的值写入到闪存中 ECC修正码所存放的位置。
BIO: NAND Flash Pool, 放置闪存记忆体的位置。 在 32位宽的数据总线上需要 放置两颗 xl6 的闪存记忆体, 或是四颗 x8 的闪存记忆体。
B20: 闪存记忆体控制器, 接收来自核心处理器要由闪存记忆体读入或是写出的 命令, 此一命令会启动 DMA搬移数据。
B30: DMA控制器, 负责快速搬移数据。
B40: 在 ECC硬件和闪存记忆体之间的数据总线,此数据总线的宽度是可以经由 闪存记忆体控制器所设定的。 '
B50: ECC 缓存器: ECC 硬件中, 编码、 侦测或是修正时所需要用到的缓存器。
例如在 Reed-Solomon 算法中, 此 ECC 缓存器便是 Parity 以及 Syndrome缓存器。
B60: ECC 硬件电路, 此硬件电路不会修改数据总线上的数据, 其会将数据切割 成数个 8位的数据, 送到传输缓存区上。 或是将接收缓存区上的数据, 以 倍频的方式以 8位的方式存取, 然后组合成 B40数据总线宽度的数据。 B70: 传送缓存区当数据由闪存记忆体中读出时, 不直接将数据传送到远程, 先 将数据放在此传送缓存区内。
B80: 接收缓存区: 当收到由远程所要写入的数据时, 会先将数据放在此缓存区 中, 并不会马上将数据写入到闪存记忆体中。 直到缓存区中的数据长度为 512字节时, 才启动 ECC 机制, 将数据写入到闪存记忆体中。 B90: 闪存记忆体控制器会依据目前 B40 数据总线的宽度, 自动设定倍频的倍 数。
工业实用性
本发明提供外部工具程序、可规划开机程序及固态磁盘区的大小。以 NAND 取代 NOR与 NAND的功能, 并以其内建驱动程序实体来仿真磁盘驱动器, 运 用于嵌入式系统 (Embedded System:)。 本发明于 NAND Flash内运用自动修正错 误码(Error Correction Code; ECC)、电气抹平(Wear leveling)和驱动程序(Device driver) 的功能, 可使嵌入式系统具有高可靠度。 本发明是以 SoC型态的 CPU 不须透过 Internal ROM, 即可提供开机功能。此嵌入式系统利用闪存储存及启动 处理技术, 适用于任何使用闪存的记忆装置, 例如: 随身碟 (USB Pendrive 1.1 /2.0 )、 PMP Player > Slid State Disk、 记忆卡和 MP3 Player等。

Claims

权利要求
1、 一种利用单一 ECC编码 /译码硬件电路并行处理多组数据的方法, 以便于对
8/16/32/64等 8 的倍数位宽的闪存记忆体数据总线上的数据流进行处理并产 生一组错误修正码以保证数据的正确性。 该方法包含: 根据闪存记忆体数据 总线宽度自动将 ECC工作频率倍频, 然后将 ECC的时序切割, 在每一个时 序分别处理数据总线上的一个特定的位组, 这样就可以在不影响控制器数据 流的基本时序和 _架构下利用一组 ECC完成资料错误的检查以及编码的动作。
2、 如权利要求 1所述的单一 ECC编码 /译码硬件电路, 其特征在于: ECC电路 的工作频率可依闪存记忆体总线宽度自行倍频, 倍频数为闪存记忆体数据宽 度除以基本 ECC处理的位组 (即 8位)。
3、 如权利要求 1所述的对 8/16/32/64等 8的倍数位宽的闪存记忆体数据总线上 的数据流进行的处理过程包含在读取闪存记忆体数据时的处理和将数据写入 闪存记忆体时的处理。
4、 如权利要求 3所述的读取闪存记忆体数据时的处理, 其特征在于: 在读取闪 存记忆体数据时,如同权利要求 2所述将 ECC工作频率依闪存记忆体数据总 线宽度倍频之后, 会在其倍频后的第一个脉冲读取最低的字节(bit0~7)的闪 存, 第二个脉冲读取次低的字节(bit8~15) 的闪存,以下如此类推。 在读取完 整个总线宽度的数据后, 将此数据存储到缓冲区。 当读出整个数据宽度的数 据后, 会重新从第一颗闪存读取数据, 循环直至读完所有的数据为止。
5、 如权利要求 3所述的将数据写入闪存记忆体时的处理, 其特征在于: 在要将 数据写入闪存记忆体时,如同权利要求 2所述将 ECC工作频率以闪存记忆体 数据总线宽度倍频之后, 会在其倍频后的第一个脉冲将数据的最低字节
(bit0~7) 写入到第一颗闪存, 第二个脉冲会写入次低字节 (bit8〜15 ) 的资 料, 以下如此类推, 直至写完 512位组。
、 在完成权利要求 5所述的处理后, 系统会将 ECC缓存器中的数据依如下 1¾ 则写入闪存记忆体中, 第一个字节的数据写入第一颗闪存, 第二个字节的数 据写入第二颗闪存, 第 M的字节的数据写入到第]^ % (总线宽度 /8) +1颗闪 存中, 直至所有的缓存器写完为止。
、 如权利要求 1至 6中任一项所述的以单一 ECC编码 /译码硬件电路并行处理 多组数据的技术, 其中以其倍频数目会依目前的总线宽度自动调整工作频率 的技术适用于任何的闪存记忆体存储装置, 例如: U盘 (包含但不限于 USB Pendriver 1.1/2.0)、 PMP Player, 存储卡和 MP3 Player等。
PCT/CN2007/002412 2006-08-11 2007-08-13 Procédé pour traiter simultanément plusieurs groupes de données au moyen d'un seul circuit ecc WO2008028400A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CNB2006100620635A CN100557715C (zh) 2006-08-11 2006-08-11 利用一组ecc电路并行处理多组数据的方法
CN200610062063.5 2006-08-11

Publications (1)

Publication Number Publication Date
WO2008028400A1 true WO2008028400A1 (fr) 2008-03-13

Family

ID=38251538

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2007/002412 WO2008028400A1 (fr) 2006-08-11 2007-08-13 Procédé pour traiter simultanément plusieurs groupes de données au moyen d'un seul circuit ecc

Country Status (2)

Country Link
CN (1) CN100557715C (zh)
WO (1) WO2008028400A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009086692A1 (zh) * 2008-01-07 2009-07-16 Fortune Spring Technology (Shenzhen) Corporation 嵌入式系统利用nand闪存记忆体储存及启动的处理方法
KR101314232B1 (ko) * 2009-07-01 2013-10-02 실리콘 모션 인코포레이티드 에러 정정 코드의 부호화 및 복호화 방법 그리고 코덱
CN102654854A (zh) * 2011-03-04 2012-09-05 上海华虹集成电路有限责任公司 一种可动态调整ECC纠错能力的Nandflash控制器
KR20170050935A (ko) * 2015-11-02 2017-05-11 에스케이하이닉스 주식회사 온 칩 ecc 회로를 포함하는 메모리 장치 및 시스템
CN110310693B (zh) * 2018-12-26 2021-01-08 上海忆芯实业有限公司 具有缓存的In-Line ECC模块

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002071693A2 (en) * 2001-03-05 2002-09-12 Raze Technologies, Inc. Wireless access system using multiple modulation formats in tdd frames and method of operation
US20030093744A1 (en) * 2001-11-14 2003-05-15 Monilithic System Technology, Inc. Error correcting memory and method of operating same
CN1786900A (zh) * 2005-10-28 2006-06-14 清华大学 基于改进的蒙哥马利算法的模乘器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002071693A2 (en) * 2001-03-05 2002-09-12 Raze Technologies, Inc. Wireless access system using multiple modulation formats in tdd frames and method of operation
US20030093744A1 (en) * 2001-11-14 2003-05-15 Monilithic System Technology, Inc. Error correcting memory and method of operating same
CN1786900A (zh) * 2005-10-28 2006-06-14 清华大学 基于改进的蒙哥马利算法的模乘器

Also Published As

Publication number Publication date
CN1996496A (zh) 2007-07-11
CN100557715C (zh) 2009-11-04

Similar Documents

Publication Publication Date Title
KR101369444B1 (ko) 정정 불가능한 에러를 해결하는 하이브리드 에러 정정 코딩
US9817749B2 (en) Apparatus and method of offloading processing from a data storage device to a host device
EP2870539B1 (en) Using slow response memory device on a fast response interface
US20130191705A1 (en) Semiconductor storage device
TW201351425A (zh) 用於解碼取決於干擾條件下之資料之系統與方法
WO2013138115A1 (en) Statistical distribution based variable-bit error correction coding
JP2010529557A5 (zh)
WO2008083557A1 (fr) Procédé de correction d'erreur de codage pour secteurs multiples
US11237760B2 (en) Measuring performance metrics for data storage devices
TWI591640B (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
US20150019904A1 (en) Data processing system and operating method thereof
TWI802324B (zh) 異常斷電恢復方法、記憶體控制電路單元以及記憶體儲存裝置
WO2008028400A1 (fr) Procédé pour traiter simultanément plusieurs groupes de données au moyen d'un seul circuit ecc
WO2008027759A1 (en) Allowable bit errors per sector in memory devices
TWI665606B (zh) 資料儲存裝置之測試系統與資料儲存裝置之測試方法
TWI467590B (zh) 資料處理方法、記憶體控制器及記憶體儲存裝置
US9467175B2 (en) Decoding method, memory storage device and memory controlling circuit unit
TW201919048A (zh) 用來控制一記憶裝置的運作之方法、記憶裝置及其控制器以及電子裝置
TWI661353B (zh) 用來於一記憶裝置中為錯誤處置進行資料處理之方法、記憶裝置及其控制器以及電子裝置
TWI442406B (zh) 針對一快閃記憶體的控制器之錯誤管理機制來提升驗證效率之方法以及相關之記憶裝置及其控制器
US11599403B2 (en) Logging mechanism for memory system
TWI579855B (zh) 傳送校正資料至非揮發性記憶體之緩衝器之系統與方法
CN102890969B (zh) 数据处理方法、存储器控制器及存储器储存装置
TWI807919B (zh) 資料重讀方法、記憶體儲存裝置及記憶體控制電路單元
KR102713429B1 (ko) 반도체장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07800693

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: RU

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: LOSS OF RIGHTS COMMUNICATION (EPO F1205A OF 20.08.09)

122 Ep: pct application non-entry in european phase

Ref document number: 07800693

Country of ref document: EP

Kind code of ref document: A1