WO2009090692A1 - 半導体記録装置及び半導体記録システム - Google Patents
半導体記録装置及び半導体記録システム Download PDFInfo
- Publication number
- WO2009090692A1 WO2009090692A1 PCT/JP2008/002811 JP2008002811W WO2009090692A1 WO 2009090692 A1 WO2009090692 A1 WO 2009090692A1 JP 2008002811 W JP2008002811 W JP 2008002811W WO 2009090692 A1 WO2009090692 A1 WO 2009090692A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- logical
- physical
- conversion table
- block
- physical conversion
- Prior art date
Links
- 239000004065 semiconductor Substances 0.000 title claims abstract description 93
- 238000006243 chemical reaction Methods 0.000 claims abstract description 153
- 230000036961 partial effect Effects 0.000 claims description 20
- 238000001514 detection method Methods 0.000 claims description 16
- 230000015654 memory Effects 0.000 abstract description 68
- 238000010586 diagram Methods 0.000 description 19
- 238000000034 method Methods 0.000 description 8
- 230000007704 transition Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 4
- 239000012141 concentrate Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000001454 recorded image Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/06—Address interface arrangements, e.g. address buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
Definitions
- the present invention relates to a semiconductor recording device such as a memory card and a semiconductor recording system, and more particularly to a technique for equalizing the number of rewrites of a physical block of a semiconductor memory.
- a semiconductor recording device such as an SD (Secure Digital) card, which is a card-type recording medium with a built-in flash memory, is ultra-small and ultra-thin. Widely used for recording data such as images.
- SD Secure Digital
- the flash memory built in the semiconductor recording device is a memory that can erase and rewrite data in blocks of a certain size, and the number of rewrites is limited.
- rewriting is possible about 10,000 times for each physical block, and when rewriting is performed more than 10,000 times, the probability that a write error will occur increases.
- a method is used in which the block in which the write error has occurred is registered as an error block and written to a block other than the error block.
- Patent Document 1 As a technique that contributes to delaying the occurrence of this problem, a conventional technique that apparently increases the number of memory rewrites is known (see Patent Document 1).
- the memory is divided into a plurality of areas and the number of rewrites in each area is stored, and the difference in the number of rewrites in each area is reduced based on the number of rewrites in each area.
- This is a technique for controlling memory rewriting so that an area with a small amount of memory is preferentially used.
- a technique for controlling the difference in the number of rewrites in each area in this way is called leveling.
- Patent Document 2 a rewrite count counter that counts the number of rewrites that is the number of blocks that have been written to the flash memory in response to a request from the host device, and a rewrite count read that reads the total number of rewrites written to the flash memory The total number of rewrites, which is the total value from the first time, based on the total number of rewrites read by the rewrite count counting unit and the total number of rewrites read by the rewrite count read unit.
- the rewrite count recording section that writes the rewrite count to the flash memory
- the rewrite count recording section when the total rewrite count that has been obtained reaches the predetermined number of times or more when the total rewrite count was previously written, A semiconductor recording device characterized by writing to a flash memory has been proposed. .
- Sequence 0 Initial state Sequence 1 Memory card logical format Sequence 2 Memory card full capacity recorded Sequence 3 Memory card content uploaded to server Sequence 4 Memory card re-logical format Sequence 5 Memory card half capacity Record only minutes Sequence 6 Upload the contents recorded on the memory card to the server Sequence 7 Re-format the memory card Sequence 8 Record only half the capacity of the memory card Sequence 9 Upload the contents recorded on the memory card to the server
- sequence 7 to sequence 9 are repeated.
- the physical block of the semiconductor memory that constitutes the memory card is E Erased block W A block that has been written and cannot be erased. I A block that has been written but is erasable is classified. Further, in order to prepare for late bad blocks and perform leveling, the number of physical blocks is secured by a predetermined number of blocks than the number of logical blocks.
- sequence 0 Since sequence 0 is in the initial state, all physical blocks other than the blocks used in the internal system of the memory card are erased blocks E as shown in FIG.
- the logical formatting of the memory card in sequence 1 corresponds to recording a new file allocation table (hereinafter referred to as FAT). Accordingly, the physical block used for FAT recording becomes the written block W as shown in FIG.
- sequence 2 write commands are issued from the host in the order of logical block numbers.
- the physical block of the semiconductor memory is assigned to the logical block issued in order from the block with the smallest number among the erased physical blocks. Therefore, after the sequence 2, recording is performed for the entire capacity, so that the physical block corresponding to the capacity of all the logical blocks becomes the written block W as shown in FIG.
- sequence 3 the recorded data is uploaded.
- a new FAT is written.
- FAT is recorded in the erased block E shown in FIG. 1C, and that block becomes the written block W1.
- W1 the newly recorded area
- the previously recorded FAT is unnecessary, it becomes an erasable block I. This state is shown in FIG.
- sequence 5 recording is performed up to half of the total capacity in order from the erased block E next to the block in which the FAT is newly written. Since the old data for the recorded logical block is unnecessary, the block becomes an erasable block I for each recording. Since the data of the next logical block is written in this erasable block, the position of the erasable block I is shifted sequentially from the physical block next to the block in which the FAT is newly written.
- the state shown in FIG. 2A shows the state of the physical block in the memory card after the sequence 5 in which half the capacity is recorded. The physical block W corresponding to the logical block for which no write command has been issued remains unupdated.
- FIG. 2A shows the state of the physical block in the memory card after the sequence 7.
- the logical address issued by the file system is the first address. Only half of all logical addresses are issued from. Therefore, the physical blocks corresponding to the remaining half of the logical addresses are not updated.
- the physical format for erasing all logical blocks is executed instead of the logical format for initializing the FAT section, the above-mentioned problems can be solved.
- the physical format has a problem that it takes a long time to erase all blocks.
- the present invention solves the above problems, and provides a semiconductor recording device and a semiconductor recording system capable of maintaining the number of physical block rewrites uniformly and formatting at high speed regardless of the state of memory writing. Objective.
- a semiconductor recording device includes a semiconductor memory composed of a plurality of physical blocks, records data written from a host device into the semiconductor memory, and reads the recorded data
- a command which is a recording device, records a logical-physical conversion table indicating correspondence between a physical address of the semiconductor memory and a logical address included in a command issued by the host device, and is issued from the host device.
- a block management unit that selects a physical block corresponding to the logical block in the logical block with reference to the logical-physical conversion table and updates the logical-physical conversion table when data is written, and the semiconductor memory
- a logical format detection unit for detecting that the logical format is executed Wherein immediately after detecting the logical format by the logical format detector is configured to anda physical conversion table initialization unit that updates the physical address corresponding to each logical address of the logical-to-physical conversion table to an invalid address.
- the block management unit updates the logical-physical conversion table by adding the logical-physical conversion table to a predetermined physical block in the semiconductor memory in order of page numbers
- the logical-physical conversion table initialization unit is configured to detect the logical format.
- the physical address corresponding to at least a part of the logical addresses may be updated to an invalid address, and the updated logical-physical conversion table may be added to the page of the physical block.
- the logical-physical conversion table is divided into K partial areas (K is a natural number of 2 or more), and the logical-physical conversion table initialization unit performs the K partials when executing the logical format.
- the logical-physical conversion table may be initialized by selecting at least one partial region of the regions.
- a semiconductor recording device includes a semiconductor memory composed of a plurality of physical blocks, records data written from a host device into the semiconductor memory, and reads the recorded data
- a command which is a recording device, records a logical-physical conversion table indicating correspondence between a physical address of the semiconductor memory and a logical address included in a command issued by the host device, and is issued from the host device.
- a block management unit that selects a physical block corresponding to the logical block in the logical block by referring to the logical-physical conversion table and updates the logical-physical conversion table when data is written, and the host device When the logical-to-physical conversion table initialization command is issued from And physical conversion table initialization unit that updates the physical address corresponding to at least a portion of the logical address invalid addresses are those comprising a.
- the block management unit updates the logical-physical conversion table by adding the logical-physical conversion table to a predetermined physical block in the semiconductor memory in order of page numbers
- the logical-physical conversion table initialization unit is configured to update the logical-physical conversion table.
- physical addresses corresponding to at least some of the logical addresses may be updated to invalid addresses, and the updated logical-physical conversion table may be added to the physical block page.
- the logical-physical conversion table is divided into K partial areas (K is a natural number of 2 or more), and the logical-physical conversion table initialization unit performs the K partials when executing the logical format.
- the logical-physical conversion table may be initialized by selecting at least one partial region of the regions.
- a semiconductor recording system of the present invention is a semiconductor recording system including a host device and a semiconductor recording device connected to the host device, and the semiconductor recording device includes a plurality of semiconductor recording devices.
- a logical-physical conversion table indicating correspondence between a semiconductor memory constituted by physical blocks, a physical address of the semiconductor memory and a logical address included in a command issued by the host device is recorded in the semiconductor memory, and the host device
- a block management unit that selects a physical block corresponding to a logical block in an issued command by referring to the logical-physical conversion table, and updates the logical-physical conversion table when data is written, and performs address management;
- a logical-physical conversion table initialization unit that updates a physical address corresponding to at least a part of logical addresses of the table to an invalid address, and records data to be written from the host device in the semiconductor memory, and the recorded data
- the host device transfers a command to the semiconductor recording device and issues a
- the correspondence between the logical address and the physical address can be released at the time of logical formatting. Therefore, for example, even when the logical format and recording up to a part of recording capacity are repeatedly performed after recording the entire capacity, rewriting does not concentrate on a part of physical blocks, and the semiconductor memory The number of physical block rewrites can be made equal.
- the same effect as the physical format in which all blocks are erased by the logical format can be obtained, and the execution time can be shortened compared to the physical format.
- FIG. 1 is a state diagram of a flash memory in the case where half the logical blocks from the head are recorded in a conventional semiconductor recording device.
- FIG. 2 is a state diagram of the flash memory in the case of recording a half logical block from the head in the conventional semiconductor recording device.
- FIG. 3 is a configuration diagram of the semiconductor recording device according to the embodiment of the present invention.
- FIG. 4 is an explanatory diagram of a memory area in the flash memory according to the present embodiment.
- FIG. 5 is a configuration diagram of physical blocks constituting the flash memory according to the present embodiment.
- FIG. 6 is an explanatory diagram of a logical-physical conversion table according to this embodiment.
- FIG. 7 is an explanatory diagram of the invalid block management table 116 according to this embodiment.
- FIG. 8A is a transition diagram of the logical-physical conversion table of this embodiment.
- FIG. 8B is a transition diagram of the logical-physical conversion table of this embodiment.
- FIG. 8C is a transition diagram of the logical-physical conversion table of the present embodiment.
- FIG. 9A is a transition diagram of physical blocks storing the logical-physical conversion table of the present embodiment.
- FIG. 9B is a transition diagram of physical blocks storing the logical-physical conversion table of the present embodiment.
- FIG. 10A is an explanatory diagram of a logical-physical conversion table after initialization according to this embodiment.
- FIG. 10B is an explanatory diagram of a storage physical block after initialization according to this embodiment.
- FIG. 11 is a transition diagram of the flash memory of the semiconductor recording device when all logical blocks are recorded in the present embodiment.
- FIG. 12 is a state diagram of the flash memory when the first half of the logical block is recorded in the present embodiment.
- FIG. 13 is a state diagram of the flash memory when a half logical block from the head is further recorded in this embodiment.
- FIG. 3 shows a configuration diagram of the semiconductor recording system according to the embodiment of the present invention.
- the semiconductor recording device 100 is realized as a memory card, for example, and is used by being connected to the host device 200.
- the semiconductor recording device 100 includes a memory controller 110 that controls writing and reading of data to and from a flash memory, and a flash memory 120 that is a nonvolatile memory.
- the memory controller 110 includes an external interface 111, a command analysis unit 112, a block management unit 114, a logical / physical conversion table 115, an invalid block management table 116, a logical / physical conversion table initialization unit 117, and a flash control unit 118.
- the external interface 111 is an interface that receives a command from the host device 200 and transfers data.
- the command analysis unit 112 analyzes commands such as a read command and a write command received by the external interface 111.
- a logical format detection unit 113 for detecting a logical format in the command is provided.
- the logical format detection unit 113 detects that the logical format has been performed by writing FAT data in a predetermined logical block.
- the logical / physical conversion table 115 is a logical / physical conversion table indicating a correspondence between a logical block number issued from the host device 200 and a physical block number recorded in the flash memory 120. This table is recorded in the volatile memory of the memory controller 110, and at the same time, is recorded in one page of any physical block of the flash memory 120.
- the invalid block management table 116 is a table in which information indicating whether the physical block of the flash memory 120 is used or invalid is recorded, and includes a volatile memory. As will be described later, this table 116 is generated based on the logical-physical conversion table 115 when power is supplied.
- the block management unit 114 manages the logical / physical conversion table 115 and the invalid block management table 116.
- the block management unit 114 updates the logical / physical conversion table 115 and records the logical / physical conversion table in the flash memory 120. Update.
- the logical-physical conversion table initialization unit 117 initializes the logical-physical conversion table 115 when the logical format detection unit 113 detects the logical format. As will be described later, this initialization is performed by setting an address of a physical block corresponding to a logical block to an invalid block.
- the flash control unit 118 is a block that writes data to the flash memory 120 and reads data from the flash memory 120 in accordance with command analysis.
- the flash memory 120 is composed of A physical blocks (A is a natural number).
- a physical block is a unit of erasure, and in this embodiment, physical block numbers PBN of 0 to (A-1) are assigned to A physical blocks.
- B physical blocks with physical block numbers 0 to B-1 (B is a natural number satisfying B ⁇ A) are assigned to the first area 120-1 of the memory and (AB) of physical block numbers B to (A-1). )
- the physical block is the second area 120-2 of the memory.
- user data transferred from the host device 200 is recorded in the first area 120-1 of the flash memory 120, and system data such as the logical-physical conversion table 115 is recorded in the second area 120-2.
- a file system such as FAT is written in the first area 120-1 together with user data.
- Flash memory has the feature that the recorded page cannot be overwritten and the number of rewrites is limited.
- the logical block number given from the host device 200 is 0 to (Bm) (m is a natural number of 1 or more), and the number of physical blocks in the first area 120-1 of the memory corresponding to the logical block is larger than the number of logical blocks. assign.
- each physical block is composed of N pages (N is a natural number), and each page is given a page number PPN of 0 to (N ⁇ 1).
- a page is a unit of data recording, and data can be recorded for each page in a physical block. For example, when the data size of the logical / physical conversion table 115 corresponds to one page, the N-logical / physical conversion table can be recorded in the same physical block.
- FIG. 6 shows an example of the logical-physical conversion table 115, where the logical block with logical block number 0 is mapped to the physical block with physical block number 3, and the logical block with logical block number 1 is mapped to the physical block with physical block number 6. It is shown that.
- the logical block numbers L and (L + 1) have an invalid number A recorded, indicating that no data has been written.
- FIG. 7 is an example of the invalid block management table 116, and shows the usage state of each physical block.
- a physical block whose use state is 1 indicates that it is in use and valid data has been written.
- a physical block whose use state is 0 is an invalid block, and there are cases where invalid data is written and an erased block, but any of these is a block that can be newly used for recording. .
- the block management unit 114 performs block management of the entire semiconductor recording device while updating the logical-physical conversion table 115 and the invalid block management table 116.
- the block management unit 114 controls the invalid block management table 116 as follows.
- Step 1) When power is supplied, all blocks in the table 116 are initialized to an invalid state.
- Step 2) The bad block is updated on the table 116 to be used. Since the management of bad blocks is out of the essence of the invention, it will not be described in detail, but it is recorded at a fixed position in the flash memory.
- Step 3 The logical-physical conversion table 115 is read, and the used physical block is updated on the table 116 to be used.
- Step 4 When rewriting a recorded logical block, an invalid block is selected from the table 116, and data is recorded in the selected invalid block. The selected block is updated to a used block, and the immediately preceding physical block corresponding to the logical block is updated to an invalid block.
- the block management unit 114 creates the invalid block management table 116 when power is supplied.
- a block that can be erased in order from the pointer of the block recorded immediately before the table 116 is assigned as a new block, and the table 116 is updated.
- FIG. 8A is a logical-physical conversion table 115 at a certain point
- FIG. 8B is a table 115 after data is recorded in the Lth logical block from the state of FIG. 8A
- FIG. 8C is the (L + 1) th logical from the state of FIG. The table 115 after recording data in a block is shown.
- 9A and 9B are diagrams showing state transitions of physical blocks storing the logical-physical conversion table 115, and hatched pages indicate recorded pages.
- the logical-physical conversion table is recorded page by page in order from the last page of the second area 120-2 of the flash memory, that is, the first page of the physical block having the physical block number (A-1).
- (A) in FIG. 9A shows that (N ⁇ 1) logical-physical conversion tables from page 0 to page (N ⁇ 2) are recorded in the physical block of physical block number (A ⁇ 1). This indicates that the logical-physical conversion table is stored in the (N-2) th page. Page (N-1) has not been recorded yet. It is assumed that the logical-physical conversion table 115 illustrated in FIG. 8A is recorded on the page (N-2).
- the current logical-physical conversion table is shown in FIG. 8A, in which “A” indicating invalidity is written in the Lth logical block, and no physical block is allocated. Therefore, the block management unit 114 performs an invalid block search with reference to the invalid block management table 116.
- the current invalid block management table 116 is in the state shown in FIG. 7, and it is assumed that the physical block having the physical number (B-1) has been searched.
- the block management unit 114 assigns the physical block number B-1 to the logical block number L, and updates the logical-physical conversion table 115 as shown in FIG. 8B.
- the flash control unit 118 records the updated logical-physical conversion table 115 on the (N-1) th page of the physical block number (A-1). This recording makes a transition to the state (b) of FIG. 9A.
- the logical format of the FAT system is implemented by recording a new FAT table in the semiconductor recording device 100 from the host device 200.
- the recording position on the logical address in the FAT table is determined in advance, for example, as logical block number 0.
- the logical format detection unit 113 in the command analysis unit 112 has predetermined data indicating that the logical block is No. 0 in the FAT table. Detect that is recorded.
- the logical format detection unit 113 detects that the logical format has been performed, a detection signal is provided to the logical-physical conversion table initialization unit 117.
- the logical-physical conversion table 115 is initialized by setting the physical blocks corresponding to all the logical blocks as invalid blocks A except for the logical block number 0 in which the FAT table is recorded. Assume that the table 115 shown in FIG. 8C is initialized in a state where it is written as shown in FIG. 9B.
- FIG. 10A shows the logical-physical conversion table 115 in this case
- FIG. 10B shows the state of the physical block number (A-2) in which the logical-physical conversion table is recorded.
- the physical block numbers corresponding to all logical blocks except the logical block number 0 in which the FAT table is recorded are A (invalid block).
- the physical blocks corresponding to all the logical blocks other than the block holding the FAT table of the first area of the flash memory are made invalid blocks, whereby the first block of the flash memory 120 managed by the invalid block management table 116 is obtained. Almost all physical blocks in one area are usable except for bad blocks.
- the logical-physical conversion table initialized in this way is recorded as indicated by an arrow in FIG. 10B at the position of the next page of the physical block in which the logical-physical conversion table was stored immediately before.
- the logical / physical conversion table is initialized and recorded in all logical blocks, and then the logical format and recording from the first logical block to the half of the largest logical block number are repeatedly performed.
- the operation in the case of having been performed will be described. This operation is performed in the following sequence as described in the problem to be solved by the invention.
- Sequence 0 Initial state Sequence 1 Logical format of memory card Sequence 2 Initialization of logical-physical conversion table Sequence 3 Recording of the entire capacity of memory card Sequence 4 Uploading contents recorded on memory card to server Sequence 5 Re-logicizing memory card Format Sequence 6 Initialization of logical-to-physical conversion table Sequence 7 Recording half the capacity of the memory card Sequence 8 Uploading the contents recorded on the memory card to the server Sequence 9 Re-formatting the memory card Sequence 11 Records only half the capacity of the memory card. Sequence 12 Uploads the content recorded on the memory card to the server. Repeats sequence 9 to sequence 12. The
- the state of the physical block of the semiconductor memory when each sequence is executed will be described.
- the state of the physical block is as follows: E Erased block W Written, non-erasable block I Written, but classified as erasable blocks.
- sequence 1 The state of the flash memory 120 of the memory card in sequence 0 is shown in FIG.
- sequence 1 the FAT table is written in the first physical block as shown in FIG.
- the logical-physical conversion table is initialized in sequence 2. In the first state, everything is erased, so there is no change. After that, when the entire capacity of the memory card is recorded in the sequence 3, the physical blocks for all the logical blocks transferred in the first area become W written as shown in FIG.
- the host device 200 transfers a new FAT for reformatting.
- the semiconductor recording device 100 records the FAT in the erased block E shown in FIG.
- W1 is set. Since the previously recorded FAT is unnecessary, the physical block on which the FAT is recorded is designated as an erasable block I.
- a state shown in FIG. 11D shows a state after the sequence 5.
- the physical block states shown in FIGS. 11A to 11D are the same as in the conventional case except that the second area 120-2 is added.
- the logical format detection unit 113 of the command analysis unit 112 detects that the FAT for the logical block 0 is recorded again, and outputs a detection signal to the logical-physical conversion table initialization unit 117.
- the logical / physical conversion table initialization unit 117 initializes the logical / physical conversion table 115.
- the initialized logical / physical conversion table is written into the flash memory 120 via the flash control unit 118.
- the area of the physical block W becomes an erasable physical block I as shown in FIG.
- the semiconductor recording device 100 records data in the erase block E and the erasable block I shown in FIG.
- selection of a new physical block into which data is to be written is performed by incrementing the pointer of the physical block selected immediately before by one.
- new blocks are selected in order from the physical block next to the pointer indicating the physical block in which the FAT is recorded.
- writing is performed while associating empty physical blocks in order with logical blocks for recording data, and recording is performed up to half of the total capacity.
- the area recorded here is also denoted by W1.
- the flash memory 120 enters the state shown in FIG.
- sequence 8 the recorded internal content is uploaded to the server.
- sequence 9 in order to write FAT, a physical block to be recorded is selected from the erasable block I shown in FIG.
- the selection algorithm is the same as in Sequence 5. Therefore, FAT is recorded sequentially from the block next to the block recorded last in the sequence 7.
- the physical block of the newly recorded area is denoted as W2 in order to distinguish it from the previously recorded area.
- W2 The physical block in which FAT has been previously recorded becomes an erasable block I. The state after FAT recording is shown in FIG.
- the logical format detection unit 113 of the command analysis unit 112 detects that the FAT for the logical block 0 is recorded again, and outputs a detection signal to the logical-physical conversion table initialization unit 117.
- the logical / physical conversion table initialization unit 117 initializes the logical / physical conversion table 115.
- the initialized logical / physical conversion table is written into the flash memory 120 via the flash control unit 118.
- the physical block W1 that has been written in the state shown in FIG. 12C is an erasable physical block I. This state is shown in FIG.
- the semiconductor recording device 100 selects a new block in order from the physical block next to the pointer indicating the physical block in which the FAT is recorded, and sequentially assigns a free physical block to the logical block in which the data is recorded. Write while recording and record up to half of the total capacity. As a result, the flash memory 120 enters the state shown in FIG.
- sequence 12 the recorded internal content is uploaded to the server.
- sequence 9 since FAT is written, the physical blocks to be recorded are sequentially selected from the erasable block I shown in FIG. Therefore, FAT is sequentially recorded from the block next to the block recorded last in the sequence 11.
- the physical block of the newly recorded area is denoted as W3 in order to distinguish it from the previously recorded area.
- the previously recorded FAT becomes an erasable block I.
- FIG. 13B shows the state after FAT recording. The recording of logical blocks is assigned and recorded in order from the block next to the last recording block in the sequence 9. In this way, the processes of sequences 9 to 12 are repeated.
- the logical-physical conversion table may be divided into K (K is a natural number of 2 or more) partial areas.
- K is a natural number of 2 or more
- the logical-physical conversion table initialization unit may initialize the logical-physical conversion table of at least one partial area so that a part of the physical block is an invalid block. By doing so, it is possible to shorten the time required for initializing the logical-physical conversion table.
- a logical format detection unit 113 is provided in the command analysis unit 112 to detect that a logical format command is given and the logical format is executed.
- the logical-physical conversion table initialization command may be issued from the host device after sending the logical format command from the host device or prior to sending this command.
- a logical-physical conversion table initialization command is issued from the host device immediately before or after the FAT table is initialized, and the logical-physical conversion table is initialized.
- a function for issuing a logical-physical conversion table initialization command to the host device is required, but it is not necessary to provide a logical format detection unit in the command analysis unit.
- the semiconductor recording device and the semiconductor recording device system of the present embodiment after recording the entire capacity, when the recording to the logical format and a part of the recording capacity is repeatedly performed, Therefore, the conventional problem that the number of rewrites concentrates on some physical blocks can be solved.
- the flash memory is described as the semiconductor memory.
- the present invention can be applied to various semiconductor memories in which the number of rewrites is limited.
- the number of times of rewriting of the block of the nonvolatile memory can be controlled almost evenly. Therefore, a multi-value flash memory with a small number of times of rewriting is used, and a large amount of data is frequently recorded. It is particularly suitable for use in the video recording field.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
シーケンス0 初期状態
シーケンス1 メモリカードを論理フォーマット
シーケンス2 メモリカードの全容量分を記録
シーケンス3 メモリカードに記録されたコンテンツをサーバにアップロード
シーケンス4 メモリカードを再論理フォーマット
シーケンス5 メモリカードの半分の容量分だけ記録
シーケンス6 メモリカードに記録されたコンテンツをサーバにアップロード
シーケンス7 メモリカードを再論理フォーマット
シーケンス8 メモリカードの半分の容量分だけ記録
シーケンス9 メモリカードに記録されたコンテンツをサーバにアップロード
メモリカードを構成する半導体メモリの物理ブロックは、
E 消去済みブロック
W 書き込み済みであり、消去不可であるブロック
I 書き込み済みであるが、消去可能なブロック
に分類される。そして、後発性のバッドブロックへの備えとレベリングの実施のため、物理ブロックの数は論理ブロックの数より所定ブロック分多く確保している。
110 メモリコントローラ
111 外部インターフェース
112 コマンド解析部
113 論理フォーマット検出部
114 ブロック管理部
115 論物変換テーブル
116 無効ブロック管理テーブル
117 論物変換テーブル初期化部
120 フラッシュメモリ
200 ホスト機器
(ステップ1)電源が供給されると、テーブル116の全ブロックを無効状態に初期化する。
(ステップ2)不良ブロックをテーブル116上で使用済みに更新する。不良ブロックの管理は発明の本質から外れるので詳細な説明はしないが、フラッシュメモリの固定位置に記録しておく。
(ステップ3)論物変換テーブル115を読み取り、使用されている物理ブロックをテーブル116上で使用済みに更新する。
(ステップ4)記録済みの論理ブロックを書き換えるときは、テーブル116より無効ブロックを選択し、選択された無効ブロックにデータを記録する。そして選択されたブロックを使用済みブロックに、当該論理ブロックに対応していた直前の物理ブロックを無効ブロックに更新する。
シーケンス0 初期状態
シーケンス1 メモリカードを論理フォーマット
シーケンス2 論物変換テーブルの初期化
シーケンス3 メモリカードの全容量分を記録
シーケンス4 メモリカードに記録されたコンテンツをサーバにアップロード
シーケンス5 メモリカードを再論理フォーマット
シーケンス6 論物変換テーブルの初期化
シーケンス7 メモリカードの半分の容量分だけ記録
シーケンス8 メモリカードに記録されたコンテンツをサーバにアップロード
シーケンス9 メモリカードを再論理フォーマット
シーケンス10 論物変換テーブルの初期化
シーケンス11 メモリカードの半分の容量分だけ記録
シーケンス12 メモリカードに記録されたコンテンツをサーバにアップロード
以下、シーケンス9~シーケンス12を繰り返す。
E 消去済みブロック
W 書き込み済みであり、消去不可であるブロック
I 書き込み済みであるが、消去可能なブロック
で分類している。
Claims (9)
- 複数の物理ブロックによって構成される半導体メモリを含み、前記半導体メモリにホスト機器から書き込まれるデータを記録し、記録されたデータを読み出す半導体記録装置であって、
前記半導体メモリの物理アドレスと前記ホスト機器が発行するコマンドに含まれる論理アドレスとの対応を示す論物変換テーブルを前記半導体メモリに記録し、前記ホスト機器から発行されるコマンドにおける論理ブロックに対応する物理ブロックを、前記論物変換テーブルを参照して選択すると共に、データを書き込んだときに前記論物変換テーブルを更新してアドレス管理を行うブロック管理部と、
前記半導体メモリの論理フォーマットが実行されたことを検出する論理フォーマット検出部と、
前記論理フォーマット検出部により論理フォーマットを検出した直後に、前記論物変換テーブルの各論理アドレスに対応する物理アドレスを無効アドレスに更新する論物変換テーブル初期化部と、を具備する半導体記録装置。 - 前記ブロック管理部は、前記論物変換テーブルを前記半導体メモリの所定の物理ブロックにページ番号順に追記することによって更新するものであり、
前記論物変換テーブル初期化部は、前記論理フォーマット検出部により論理フォーマット終了を検出した直後に、少なくとも一部の論理アドレスに対応する物理アドレスを無効アドレスに更新し、更新した論物変換テーブルを前記物理ブロックのページに追記する請求項1に記載の半導体記録装置。 - 前記論物変換テーブルはK個(Kは2以上の自然数)の部分領域に分割されたものであり、前記論物変換テーブル初期化部は、論理フォーマットの実行時には、前記K個の部分領域のうち少なくとも1つの部分領域を選択して論物変換テーブルを初期化する請求項1に記載の半導体記録装置。
- 前記論物変換テーブルはK個(Kは2以上の自然数)の部分領域に分割されたものであり、前記論物変換テーブル初期化部は、論理フォーマットの実行時には、前記K個の部分領域のうち少なくとも1つの部分領域を選択して論物変換テーブルを初期化する請求項2に記載の半導体記録装置。
- 複数の物理ブロックによって構成される半導体メモリを含み、前記半導体メモリにホスト機器から書き込まれるデータを記録し、記録されたデータを読み出す半導体記録装置であって、
前記半導体メモリの物理アドレスと前記ホスト機器が発行するコマンドに含まれる論理アドレスとの対応を示す論物変換テーブルを前記半導体メモリに記録し、前記ホスト機器から発行されるコマンドにおける論理ブロックに対応する物理ブロックを、前記論物変換テーブルを参照して選択すると共に、データを書き込んだときに前記論物変換テーブルを更新してアドレス管理を行うブロック管理部と、
前記ホスト機器から論物変換テーブル初期化コマンドが発行されたとき、前記論物変換テーブルの少なくとも一部の論理アドレスに対応する物理アドレスを無効アドレスに更新する論物変換テーブル初期化部と、を具備する半導体記録装置。 - 前記ブロック管理部は、前記論物変換テーブルを前記半導体メモリの所定の物理ブロックにページ番号順に追記することによって更新するものであり、
前記論物変換テーブル初期化部は、前記論物変換テーブルの初期化時に、少なくとも一部の論理アドレスに対応する物理アドレスを無効アドレスに更新し、更新した論物変換テーブルを前記物理ブロックのページに追記する請求項5に記載の半導体記録装置。 - 前記論物変換テーブルはK個(Kは2以上の自然数)の部分領域に分割されたものであり、前記論物変換テーブル初期化部は、論理フォーマットの実行時には、前記K個の部分領域のうち少なくとも1つの部分領域を選択して論物変換テーブルを初期化する請求項5に記載の半導体記録装置。
- 前記論物変換テーブルはK個(Kは2以上の自然数)の部分領域に分割されたものであり、前記論物変換テーブル初期化部は、論理フォーマットの実行時には、前記K個の部分領域のうち少なくとも1つの部分領域を選択して論物変換テーブルを初期化する請求項6に記載の半導体記録装置。
- ホスト機器と、前記ホスト機器に接続された半導体記録装置と、を具備する半導体記録システムであって、
前記半導体記録装置は、
複数の物理ブロックによって構成される半導体メモリと、
前記半導体メモリの物理アドレスと前記ホスト機器が発行するコマンドに含まれる論理アドレスとの対応を示す論物変換テーブルを前記半導体メモリに記録し、前記ホスト機器から発行されるコマンドにおける論理ブロックに対応する物理ブロックを、前記論物変換テーブルを参照して選択すると共に、データを書き込んだときに前記論物変換テーブルを更新してアドレス管理を行うブロック管理部と、
前記ホスト機器から論物変換テーブル初期化コマンドが発行されたとき、前記論物変換テーブルの少なくとも一部の論理アドレスに対応する物理アドレスを無効アドレスに更新する論物変換テーブル初期化部と、を具備し、前記半導体メモリにホスト機器から書き込まれるデータを記録し、記録されたデータを読み出すものであり、
前記ホスト機器は、
前記半導体記録装置にコマンドを転送すると共に、そのファイルシステムを初期化する場合には、ファイルシステム初期化コマンドに加えて論物変換テーブル初期化コマンドを発行する半導体記録システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/812,238 US8751770B2 (en) | 2008-01-16 | 2008-10-06 | Semiconductor recording apparatus and semiconductor recording system |
JP2009549898A JP5491201B2 (ja) | 2008-01-16 | 2008-10-06 | 半導体記録装置及び半導体記録システム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008-007088 | 2008-01-16 | ||
JP2008007088 | 2008-01-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2009090692A1 true WO2009090692A1 (ja) | 2009-07-23 |
Family
ID=40885104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2008/002811 WO2009090692A1 (ja) | 2008-01-16 | 2008-10-06 | 半導体記録装置及び半導体記録システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US8751770B2 (ja) |
JP (1) | JP5491201B2 (ja) |
WO (1) | WO2009090692A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113868148A (zh) * | 2020-06-30 | 2021-12-31 | 华为技术有限公司 | 一种数据写入的方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114489478A (zh) * | 2021-12-20 | 2022-05-13 | 山西转型综改示范区华纳方盛科技有限公司 | 数据记录仪的数据存储方法、数据存储模块及数据记录仪 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0997139A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | フラッシュrom管理方法及び装置及びコンピュータ制御装置 |
JP2004280752A (ja) * | 2003-03-19 | 2004-10-07 | Sony Corp | データ記憶装置、およびデータ記憶装置における管理情報更新方法、並びにコンピュータ・プログラム |
JP2006146585A (ja) * | 2004-11-19 | 2006-06-08 | Canon Inc | 電子機器及びその制御方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3485938B2 (ja) | 1992-03-31 | 2004-01-13 | 株式会社東芝 | 不揮発性半導体メモリ装置 |
JP2749752B2 (ja) | 1993-01-20 | 1998-05-13 | キヤノン株式会社 | メモリの書き込み制御装置 |
JP3464836B2 (ja) | 1995-01-19 | 2003-11-10 | 富士通株式会社 | 記憶装置のメモリ管理装置 |
US5933847A (en) | 1995-09-28 | 1999-08-03 | Canon Kabushiki Kaisha | Selecting erase method based on type of power supply for flash EEPROM |
US5748537A (en) * | 1997-02-13 | 1998-05-05 | Garbers; Jeffrey Paul | Method and apparatus for storing items in flash memory |
WO1999030239A1 (fr) | 1997-12-05 | 1999-06-17 | Tokyo Electron Limited | Memoire et procede d'acces |
US20030163633A1 (en) * | 2002-02-27 | 2003-08-28 | Aasheim Jered Donald | System and method for achieving uniform wear levels in a flash memory device |
JP3927192B2 (ja) | 2004-03-29 | 2007-06-06 | 松下電器産業株式会社 | メモリカード及びメモリカードドライブ |
JP2006127247A (ja) | 2004-10-29 | 2006-05-18 | Optrex Corp | 可変電圧発生回路 |
-
2008
- 2008-10-06 WO PCT/JP2008/002811 patent/WO2009090692A1/ja active Application Filing
- 2008-10-06 US US12/812,238 patent/US8751770B2/en active Active
- 2008-10-06 JP JP2009549898A patent/JP5491201B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0997139A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | フラッシュrom管理方法及び装置及びコンピュータ制御装置 |
JP2004280752A (ja) * | 2003-03-19 | 2004-10-07 | Sony Corp | データ記憶装置、およびデータ記憶装置における管理情報更新方法、並びにコンピュータ・プログラム |
JP2006146585A (ja) * | 2004-11-19 | 2006-06-08 | Canon Inc | 電子機器及びその制御方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113868148A (zh) * | 2020-06-30 | 2021-12-31 | 华为技术有限公司 | 一种数据写入的方法及装置 |
CN113868148B (zh) * | 2020-06-30 | 2024-04-09 | 华为技术有限公司 | 一种数据写入的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20100293322A1 (en) | 2010-11-18 |
US8751770B2 (en) | 2014-06-10 |
JPWO2009090692A1 (ja) | 2011-05-26 |
JP5491201B2 (ja) | 2014-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4633802B2 (ja) | 不揮発性記憶装置及びデータ読み出し方法及び管理テーブル作成方法 | |
US8190811B2 (en) | Defragmentation of solid state memory | |
US8838875B2 (en) | Systems, methods and computer program products for operating a data processing system in which a file delete command is sent to an external storage device for invalidating data thereon | |
JP4418439B2 (ja) | 不揮発性記憶装置およびそのデータ書込み方法 | |
JP4268396B2 (ja) | 1回プログラム可能な不揮発性メモリデバイスのファイル管理 | |
JP4533956B2 (ja) | フラッシュメモリシステムのデータ記憶容量の解放 | |
US6678785B2 (en) | Flash management system using only sequential write | |
US7725646B2 (en) | Method of using a flash memory for a circular buffer | |
JP2009199625A (ja) | メモリカードおよびメモリカードの制御方法および不揮発性半導体メモリの制御方法 | |
WO2011068109A1 (ja) | 記憶装置、およびメモリコントローラ | |
JP2005182793A (ja) | 頻繁にアクセスされたセクタの動作による不揮発性メモリに対するより速い書込み動作 | |
JPWO2005103903A1 (ja) | 不揮発性記憶システム | |
US20080025706A1 (en) | Information recording apparatus and control method thereof | |
JP2007193883A (ja) | データ記録装置及び方法、及びデータ再生装置及び方法、並びにデータ記録再生装置及び方法 | |
JP2006040264A (ja) | メモリカードの制御方法および不揮発性半導体メモリの制御方法 | |
JP2009503743A (ja) | データファイルを直接記憶するメモリブロックの管理 | |
US8819332B2 (en) | Nonvolatile storage device performing periodic error correction during successive page copy operations | |
TW201344434A (zh) | 記憶體格式化方法、記憶體控制器及記憶體儲存裝置 | |
TWI556103B (zh) | 記憶體裝置及其資料存取方法 | |
JP5491201B2 (ja) | 半導体記録装置及び半導体記録システム | |
JP2005078378A (ja) | データ記憶装置及び不揮発性メモリに対するデータ書き込み方法 | |
JP2005115562A (ja) | フラッシュrom制御装置 | |
JP5949122B2 (ja) | 制御装置、記憶装置、記憶制御方法 | |
TW201621668A (zh) | 資料儲存裝置及其資料寫入方法 | |
US20210303212A1 (en) | Data processing method and memory controller utilizing the same |
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: 08870670 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2009549898 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 12812238 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 08870670 Country of ref document: EP Kind code of ref document: A1 |