发明名称 Memory controller and non-volatile storage device
摘要 A non-volatile storage device comprises non-volatile memories for storing data; and a memory controller for carrying out control of the non-volatile memory. The memory controller stores second error correcting code as well as first error correcting code stored in the same page of the data. The memory controller, when writing data smaller than a predefined size, does not add the second error correcting code, and stores duplexed data of the data and the first correcting code in a different page. The memory controller, when reading, corrects data using the first and/or second correcting code. The valid data management table manages which logical block stores valid data with respect to an identical logical address.
申请公布号 US8856427(B2) 申请公布日期 2014.10.07
申请号 US201213435493 申请日期 2012.03.30
申请人 Panasonic Corporation 发明人 So Hirokazu;Honda Toshiyuki
分类号 G06F12/02;G06F11/10 主分类号 G06F12/02
代理机构 Wenderoth, Lind & Ponack, L.L.P. 代理人 Wenderoth, Lind & Ponack, L.L.P.
主权项 1. A non-volatile storage device, which communicates with an access device and carries out reading and/or writing of data in accordance with a command from the access device, the non-volatile storage device comprising: a non-volatile memory for storing data; and a memory controller for carrying out control of the non-volatile memory, wherein the non-volatile memory includes a plurality of blocks, which are erase units, each block of the plurality of blocks including a plurality of pages, which are write units of data, and wherein the memory controller: arranges a first logical block in one region by combining first blocks of the plurality of blocks, and arranges a second logical block in a different region by combining second blocks of the plurality of blocks;assigns a plurality of error correcting groups to the first logical block, each error correcting group of the plurality of error correcting groups being configured by a plurality of pages of the first blocks of the first logical block;assigns data and assigns at least one of a first error correcting code and a second error correcting code with respect to the data to each error correcting group;configures one error correcting group of the plurality of error correcting groups as a parity group, the parity group including (i) data pages, of the first blocks of the first logical block, each of which includes the data and the first error correcting code with respect to the data and (ii) a parity page of one first block of the first logical block that includes the second error correcting code;assigns a plurality of multiplexed groups to the second logical block, each multiplexed group of the plurality of multiplexed groups being configured by a plurality of data pages, each data page, of the second blocks of the second logical block, including data and the first error correcting code with respect to the data, and each multiplexed group of the plurality of multiplexed groups including one data page and a copy of the one data page as a copied data page;when a data size of write data is smaller than a predetermined size, generates one data page from the write data and writes the generated data page and a copy of the generated data page as the copied data page in one multiplexed group to the second logical block, and when the data size of the write data is greater than or equal to the predetermined size, generates data pages and one parity page of the generated data pages from the write data and writes the generated data pages and the one parity page of the generated data pages in one parity group to the first logical block; andincludes a valid data management table for managing which one of the first logical block and the second logical block stores valid data with respect to an identical logical address.
地址 Osaka JP