WO2007013372A1 - メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及び不揮発性メモリのアドレス管理方法 - Google Patents

メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及び不揮発性メモリのアドレス管理方法 Download PDF

Info

Publication number
WO2007013372A1
WO2007013372A1 PCT/JP2006/314496 JP2006314496W WO2007013372A1 WO 2007013372 A1 WO2007013372 A1 WO 2007013372A1 JP 2006314496 W JP2006314496 W JP 2006314496W WO 2007013372 A1 WO2007013372 A1 WO 2007013372A1
Authority
WO
WIPO (PCT)
Prior art keywords
logical address
physical
size
logical
address range
Prior art date
Application number
PCT/JP2006/314496
Other languages
English (en)
French (fr)
Inventor
Masahiro Nakanishi
Tetsushi Kasahara
Tomoaki Izumi
Kiminori Matsuno
Daisuke Kunimune
Kazuaki Tamura
Yoshiyuki Konishi
Original Assignee
Matsushita Electric Industrial Co., Ltd.
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 Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to US11/814,202 priority Critical patent/US8051268B2/en
Priority to JP2007528440A priority patent/JP4679581B2/ja
Priority to EP06781418A priority patent/EP1912123A4/en
Publication of WO2007013372A1 publication Critical patent/WO2007013372A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Definitions

  • Memory controller non-volatile storage device, non-volatile storage system, and address management method for nonvolatile memory
  • the present invention relates to a memory controller for controlling a non-volatile memory such as a flash memory and an address management method for the non-volatile memory, and the present invention also relates to a non-volatile memory for writing and reading data to the non-volatile memory.
  • a memory controller for controlling a non-volatile memory such as a flash memory and an address management method for the non-volatile memory
  • the present invention also relates to a non-volatile memory for writing and reading data to the non-volatile memory.
  • a non-volatile storage device provided with a rewritable non-volatile memory is a device for non-real time recording represented by a personal computer (PC) and a real time represented by a digital video camera centering on a semiconductor memory card.
  • PC personal computer
  • a digital video camera centering on a semiconductor memory card The demand is growing as an external recording device for recording equipment.
  • semiconductor memory cards There are various types of semiconductor memory cards that can be used, one of which is the SD (Secure Digital (registered trademark)) memory card.
  • the SD memory card includes a flash memory, which is a non-volatile memory, and a memory controller that controls the flash memory.
  • the memory controller performs read / write control on the flash memory according to read / write instructions from the access device such as a PC.
  • a case will be considered in which such an SD memory card is attached to an access device such as a PC and the access device side treats it as a removable disk, manages it with the FAT file system, and accesses data.
  • the FAT file system when recording files and data to a recording device, reading and writing of data are generally instructed in units of clusters using a file 'table' table (FAT).
  • FAT file 'table' table
  • a flash memory used as a main storage memory of a semiconductor memory card is constituted by a plurality of physical block powers which are erase units, and each physical block is also constituted a page power which is a write unit.
  • a semiconductor memory card using such a flash memory has an inherent problem of limiting the number of rewrites, and although it has been continuously improved by the adoption of a new memory technology, it can be used as an external storage device. In the data storage trust Not perfect in terms of sex. For this reason, in the semiconductor memory card, it is necessary to manage the reliability of data which is only read z write data.
  • Wear leveling is a so-called logical physical conversion technology that converts a logical address specified by an access device into a physical address of a flash memory, and is usually realized using an address management table.
  • Distributed address management is conventionally used as one method of wear leveling.
  • the logical address and status flag of the block are stored in the page management area, which is the write unit, and the information is read at initialization, and the memory controller is based on the read information.
  • This is a method to configure the address management table in the internal RAM.
  • nonvolatile storage device having a large capacity memory space
  • This causes a standard violation such as exceeding the initialization time upper limit value in the standard of the non-volatile storage device.
  • non-standard non-volatile storage devices have the disadvantage of long waiting time until they can be accessed, although they do not violate the standard.
  • the capacity of the RAM for temporarily storing the address management table is enormous, and there is a problem in cost.
  • the segment management method is to divide the entire space of logical addresses managed by the access device into a plurality of logical address ranges, and to divide the plurality of logical address ranges into a plurality of physically divided flash memories. It is a method of managing in correspondence with physical areas (segments).
  • the address management table itself is stored in the flash memory, and the address management table is stored for each data write instruction of the access device. This is a method of reading out to the RAM and updating the address management table on the RAM after writing of data is completed and writing back to the flash memory.
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2003-323352
  • the physical space is divided into segments (physical areas) of equal size. Since the size of each segment in physical space is the same, the number of rewritable times is equal in each segment. On the other hand, each logical space is divided into equal sizes.
  • File allocation table (FAT) is rewritten more frequently than other data
  • the access frequency to the logical address range (logical address range 0) containing such data is another logical address range (logical address range 1 to 15). It is higher than the frequency of access to). Therefore, the segment (segment 0) force corresponding to the address range 0 has a rewrite life earlier than the other segments (segments 1 to 15), and as a result, although the effective storage area exists, it is not possible. Volatile storage devices have the problem that they become unusable simultaneously with the lifetime of segment 0.
  • the present invention has been made in view of such conventional problems, and an object of the present invention is to provide a technology for realizing a non-volatile storage device realizing long life.
  • the memory controller is a memory controller that writes and reads data to and from a nonvolatile memory in accordance with a command and a logical address given from an external access device.
  • Memory controller reads data from nonvolatile memory
  • Write control, read / write control means, and the entire logical address space are divided into a plurality of logical address ranges, individual address management is performed for each logical address range, and the storage area of the non-volatile memory is physically Logical address range divided into multiple physical areas And address management means for managing the physical area in association with each other.
  • Each of the logical address ranges and the address range is set so that the ratio of the size of the logical address range to the size of the physical area is different from that of other logical address ranges in at least one logical address range.
  • An area allocation unit for allocating each physical area is included.
  • the area allocation means allocates the logical address range so that the size of each logical address range is equal, and the size of at least one physical area is different from the size of the other physical area.
  • Physical areas may be allocated. In this case, the size of the physical area corresponding to the logical address range for storing frequently rewritten data may be set larger than the size of the other physical areas.
  • the area allocation unit allocates the physical areas so that the size of each physical area is equal, and the size of at least one logical address range is different from the size of the other logical address range.
  • the logical address range may be assigned.
  • the rewriting frequency may be high, and the size of the logical address range for storing data may be set smaller than the size of other logical address ranges.
  • data with high rewriting frequency is management information used for file management such as a file allocation table (FAT).
  • FAT file allocation table
  • a non-volatile storage device includes a non-volatile memory, and the above-mentioned memory controller for writing and reading data to and from the non-volatile memory.
  • a non-volatile storage system includes the above-described non-volatile device, and an access device for designating and accessing a non-volatile device with a logical address.
  • An address management method is an address management method of nonvolatile memory including a plurality of physical blocks by writing and reading data according to a command and a logical address given from an access device.
  • the entire logical address space is divided into a plurality of logical address ranges, individual address management is performed for each logical address range, and the storage area of the nonvolatile memory is physically divided into a plurality of physical areas.
  • Assign logical address ranges and physical areas as follows. Effect of the invention
  • the ratio of the size of the logical address range to the size of the segment is different from that of other logical address ranges. Assign segments. As a result, the data rewrite frequency is equalized in each segment, and the lifetime of the nonvolatile memory device can be extended.
  • FIG. 1 is a block diagram showing an entire configuration of a non-volatile memory system according to a first embodiment of the present invention.
  • FIG. 2 A diagram showing a memory map showing correspondence between a logical address space and a physical address space according to a first embodiment of the present invention.
  • FIG. 3 A diagram illustrating physical blocks in the nonvolatile memory of the nonvolatile memory device of the present invention.
  • FIG. 4 shows a physical area management table of the non-volatile storage device according to the first embodiment of the present invention.
  • FIG. 5 shows a logical-physical conversion table of the non-volatile storage device according to the first embodiment of the present invention.
  • FIG. 6 is a diagram showing a memory map of the area allocation table of the non-volatile storage device according to the first embodiment of the present invention.
  • FIG. 7 A diagram showing an address format showing correspondence between a logical sector number LSN (logical sector address) and a physical sector number PSN (physical sector address) of the nonvolatile memory device according to the first embodiment of the present invention.
  • FIG. 8 A flow chart representing the processing of the area allocation unit of the non-volatile storage device according to the first embodiment of the present invention.
  • FIG. 10 A block diagram showing an entire configuration of a non-volatile storage system according to a second embodiment of the present invention.
  • ⁇ 11 A diagram showing a memory map representing correspondence between a logical address space and a physical address space in Embodiment 2 of the present invention
  • FIG. 12 shows a physical area management table of the non-volatile storage device according to the second embodiment of the present invention.
  • ⁇ 14 A diagram showing a memory map of the area allocation table of the nonvolatile memory device according to the second embodiment of the present invention.
  • off port 1 representing the processing space allocation unit of the nonvolatile memory device of the second embodiment of the present invention ⁇ Teya 1 ⁇ Bok
  • FIG. 16 is a flowchart showing processing of the address conversion unit of the non-volatile storage device according to the second embodiment of the present invention.
  • FIG. 17 A diagram showing a memory map showing the correspondence between the conventional logical address space and physical address space.
  • FIG. 1 is a diagram showing the configuration of the non-volatile storage system according to the first embodiment of the present invention.
  • the non-volatile storage system includes an access device 200 and a non-volatile storage device 240 in which data is written and read by the access device 200.
  • Non-volatile storage device 240 stores data in accordance with a data write instruction from access device 200, and the stored data is read as the data read instruction.
  • Non-volatile storage 240 includes memory controller 220 and non-volatile memory 230.
  • the memory controller 220 includes a host interface 201, a knock-down memory 202, a CPU 203, a RAM 204, a ROM 205, an area allocation unit 206, an address conversion unit 208, and a read / write control unit 211.
  • the area allocation unit 206 and the address conversion unit 208 constitute an address management unit 215.
  • the area allocation unit 206 includes an area allocation table 207, and the address conversion unit 208 includes a physical area management table 209 and a logical physical conversion table 210.
  • the area allocation unit 206 associates the logical address range of the logical address space with the segment of the physical address space. The following describes logical address ranges and segments.
  • FIG. 2 is a memory map showing the correspondence between the logical address space and the physical address space in the present embodiment.
  • the logical address space is an address space specified by the access device 200 at the time of writing and reading
  • the physical address space is a physical address space in the non-volatile memory 230 such as a flash memory.
  • the logical address space is divided into 16 ranges of logical address range 0 to 15, and the physical address space is segment 0 It is divided into 16 segments of ⁇ 15. Each segment is also composed of multiple physical block forces, and the size of one physical block is 16 kBytes.
  • PBtn (S) represents the total number of physical blocks included in segment S.
  • PBsn (S) represents the physical block start number in segment S.
  • S is an integer of 0 to 15.
  • the area allocation unit 206 associates the logical address range shown in FIG. 2 with the segment.
  • the address conversion unit 208 determines an address such as a data write destination based on the area allocation processing of the area allocation unit 206.
  • the read / write control unit 211 writes and reads data to the physical address designated by the address conversion unit 208.
  • the area allocation table 207 may be stored in the non-volatile RAM (not shown) built in the area allocation unit 206, or may be stored in the non-volatile memory 230, and the non-volatile memory 240 may be stored. It may be read out to volatile RAM at the time of initialization. In the present embodiment, the area allocation table 207 is stored in the non-volatile RAM for the sake of simplicity.
  • the physical area management table 209 and the logical physical conversion table 210 are stored in pairs for each segment of the non-volatile memory 230, and one physical area management table 209 and the logical physical conversion table 210 are ones. Manage addresses in one segment range. Note that all pairs of the physical area management table 209 and the logical physical conversion table 210 are collectively referred to as an "address management table" hereinafter.
  • Non-volatile memory 230 has a storage capacity of 1 GByte (1, 073, 741, 824 Byte).
  • the address space or logical address space viewed from the access device 200 is 1,040, 187, 392 bytes as shown in FIG.
  • FIG. 3 is a diagram showing the configuration of the physical block of the non-volatile memory 230.
  • One physical block is composed of 32 pages, and each page is composed of a data area of 512 bytes and a management area of 16 bytes. Data of 16 kBytes (512 Bytes x 32 pages) can be stored in one physical block.
  • For writing of one cluster (corresponding to one logical block), data is sequentially written in the area of page 0 to page 31 of one physical block.
  • the management area of page 0 stores distributed management information on the physical block.
  • the distributed management information is a block indicating the logical block number designated by the access device 200 and the status of the physical block. Including lock status.
  • the distributed management information is read from each of the physical blocks included in the area of the non-volatile memory 230 corresponding to the segment number S, and an address management table for the segment S is created. Stored in the area of
  • FIG. 4 is a diagram for explaining the physical area management table 209.
  • the address of each entry of the physical area management table 209 corresponds to the physical block number PBN (S) in the segment S of the non-volatile memory 230.
  • the physical area management table 209 stores, for each physical block, "valid", “invalid”, “defect” and the like as information on the state (block status). Specifically, "00” in binary notation indicates a valid block, and a block in which valid data has already been written. The binary number “11” indicates an invalid block, and an erased block or a block to which data has already been written but is unnecessary.
  • the binary number “10” indicates a bad block, which is a block that can not be used due to a solid error or the like on a memory cell.
  • the binary number "01” indicates that the physical block is a physical block storing the address management table. Thus there are at least four states.
  • FIG. 5 is a diagram for explaining the logical physical conversion table 210.
  • the address of each entry of the logical to physical conversion table 210 corresponds to the logical block number LBN (S) in the segment S.
  • the physical block number PBN (S) corresponding to the logical block number LBN (S) is stored in the area of the address.
  • FIG. 6 is a memory map of the area allocation table 207.
  • the address of each entry of the area allocation table 207 corresponds to the segment number S, and the physical block start number PBsn (S) of each segment S and the total number of physical blocks PBtn (S) are stored in the area of the address! That is, the area allocation table 207 includes a portion storing the physical block start number PBsn (S) and a portion storing the total number of physical blocks PBtn (S).
  • the former corresponds to the start address of each segment, and the latter represents the total number of physical blocks constituting each segment.
  • FIG. 7 is an address format showing correspondence between a logical sector number LSN (logical sector address) and a physical sector number PSN (physical sector address).
  • the logical sector number LSN bits 0 to 4 correspond to the physical block page number (PSN [4: 0]).
  • Logical sector number Bits 20 to 5 of LSN are the logical block number LBN.
  • Logical block Number LBN corresponds to a cluster number.
  • the area allocation unit 206 executes the area allocation process shown in FIG. 6 based on the logical block number L BN.
  • the non-volatile storage device 240 when the non-volatile storage device 240 is shipped and used for the first time, all good blocks of the non-volatile memory 230 are erased. However, in each segment, an address management table for performing address management of the segment is collectively stored in one physical block of the final address of the segment. At this time, in the physical area management table 209, the status flag corresponding to the physical block in which the address management table including the physical area management table 209 is stored, that is, the physical block of the final address is “01”. The status flag corresponding to the physical block which is set and is a bad block is set to "10". Although a system area in which system information is stored actually exists, it is not directly related to the concept of the present invention, and therefore the description thereof is omitted.
  • the CPU 203 After the non-volatile storage device 240 is powered on, the CPU 203 performs initialization processing based on the program stored in the ROM 205, and then waits for reception of commands such as read / write from the access device 200. to go into.
  • the access device 200 issues a write instruction within the desired logical address range.
  • So-called content data such as image data (hereinafter simply referred to as "data") is written to all logical address ranges.
  • FAT is written only to logical address range 0.
  • the address management table stored in the segment of the nonvolatile memory 230 corresponding to the logical address range of the write destination is read by one physical block power of the final address of the segment.
  • the physical area management table 209 and the logical physical conversion table 210 are configured based on the read address management table, and are stored in the RAM in the address conversion unit 208.
  • the physical block of write destination is determined based on the physical area management table 209 and the logical physical conversion table 210, and the physical block is determined as the physical block. A write is made to it.
  • the physical area management table 209 and the logical physical conversion table 210 are updated on the RAM by the address conversion unit 208 and are written back to the non-volatile memory 230 again.
  • the physical block storing the address management table is also subject to wear leveling, so the write back physical block is changed every time data or FAT is written, as described later.
  • the write rate of the nonvolatile storage device is 2 MBZ seconds.
  • the FAT is duplexed to F ATI and FAT 2 and has a capacity of 16 kBytes each, for a total of 32 kBytes. It is assumed that 32 kBytes of FAT are written in one write command.
  • the physical block size is 16 kBytes (see Figure 3).
  • the defective block occurrence rate of the non-volatile memory 230 is 2%, and the defective block occurrence rate is 2% for each segment.
  • the physical area management table 209 (approximately lkByte) and the logical physical conversion table 210 (approximately 8 kB yte) are collectively stored in one physical block in the corresponding segment. This summary is called an address management table.
  • One address management table is stored in one physical block in each segment of the non-volatile memory 230, and read out to the RAM in the address conversion unit 208 each time there is access from the access device 200.
  • the physical area management table 209 and the logical physical conversion table 210 are configured. After writing of data and FAT is executed, the physical area management table 209 and the logical physical conversion table 210 in the RAM are updated, and after update, they are written back as physical management blocks other than the physical block as an address management table.
  • each segment size is the same size, when rewriting the entire logical space, ie, an area of about 1 GByte, segment 0 storing FAT is more than other segments. The frequency of rewriting is also high.
  • the number of physical blocks in which data is rewritten in each segment can be determined by rewriting the data stored in the entire logical space, ie, the area of about 1 GByte, in a corresponding logical address range.
  • the number of clusters that make up is equal to 3968.
  • the time required for this rewriting is 512 seconds according to the precondition (1) and the equation (1).
  • segments 1 to 15 are segments that store only data, the frequency with which each physical block is rewritten is 0.97 times according to equation (3).
  • segment 0 since segment 0 includes data and FAT, the frequency with which each physical block is rewritten in segment 0 is 1.22 times according to equation (4). Note that “two” in the left side of equation (4) corresponds to excluding two clusters of FAT1 and FAT2.
  • segment 0 reaches the rewrite guarantee number (for example, 100,000 times) relatively quickly at which the rewrite frequency is higher than that of the other segments. That is, the lifetime of the conventional non-volatile storage device is the speed at which the segment 0 can reach the guaranteed rewrite frequency and It becomes equal.
  • nonvolatile storage device 240 In nonvolatile storage device 240 according to the first embodiment of the present invention, the area allocation is adjusted so that the number of physical blocks included in segment 0 having a high rewrite frequency is greater than the number of physical blocks included in other segments. ing. In this way, the arrival speed of each segment to the guaranteed number of rewrites is averaged to extend the life.
  • the size of the segment 0 with a high rewrite frequency is made larger than the sizes of the other segments 1-15.
  • the calculation of the segment size is different depending on the defective block occurrence rate of the non-volatile memory 230, the architecture of the memory controller, etc.
  • each logical address range is determined as follows. The basic idea in making the decision is to keep the size of other segments 1-15 as small as possible to ensure the size of segment 0 as large as possible.
  • the number of physical blocks of each segment of segments 1 to 15 is determined according to equation (5).
  • the coefficient 0.02 in Equation (5) is a coefficient corresponding to the defective block occurrence rate (for example, 2%) of the nonvolatile memory 230, and one on the left side corresponds to one physical block storing the address management table. .
  • the size of segments 1 to 15 is determined as the minimum necessary size in consideration of the defective block occurrence rate.
  • 65,536 are the total number of physical blocks of the non-volatile memory 230.
  • the system area is directly related to the invention, for example, for the sake of simplicity! It was omitted.
  • the frequency of rewriting segment 0 is significantly reduced as compared to the prior art, and rewriting between segment 0 and other segments 1 to 15 is performed. It can be seen that the difference in frequency is smaller than in the prior art. Therefore
  • the rewrite frequency can be equalized, and the lifetime of the nonvolatile memory 230 can be increased.
  • the force that determines the physical boundary of each segment according to equations (5) and (6).
  • This information is stored in the non-volatile RAM in the area allocation unit 206 as the area allocation table 207 as shown in FIG. Be done.
  • the area allocation table 207 may be stored in any physical block of the non-volatile memory 230 and read out to the RAM at initialization.
  • the RAM may be provided in the area allocation unit 206, or a partial area of the RAM 204 may be used.
  • the processing of the address management unit 215 (the area allocation unit 206 and the address conversion unit 208) will be described below when the access device 200 instructs to rewrite data for one cluster.
  • the CPU 203 transfers control to the address management unit 215.
  • the area allocation unit 206 determines the segment number S and the intra-segment logical block number LBN (S) for the logical address specified by the access device 200 while referring to the area allocation table 207. Specifically, the area allocation unit 206 performs processing according to the flowchart shown in FIG.
  • the area assignment unit 206 receives the logical sector number LSN from the access device 200 (S 11), and calculates the logical block number LBN according to the equation (9) based on the received logical sector number LSN ( S 12).
  • equation (7) >> is an operator representing a right shift, and the bit format shown in FIG. 7 is obtained by shifting the logical sector number LSN to the right by 5 bits.
  • the logical block number LBN can be obtained.
  • the segment number S and the logical block number LBN (S) in the segment are calculated from the logical block number LBN (S 13).
  • t () is an operator for finding an integer.
  • % is an operator for obtaining the remainder.
  • the physical block start number PBsn (S) and the total number of physical blocks PBtn (S) of each segment are determined with reference to the area allocation table 207 based on the segment number S obtained by the equation (10) (S 14). Finally, the segment number S, the intra-segment logical block number LBN (S), the physical block start number PBsn (S), and the total number of physical blocks PBtn (S) are transferred to the address conversion unit 208 (S15), End the process.
  • the address conversion unit 208 determines the physical address of the data rewrite destination according to the flowchart shown in FIG.
  • the address conversion unit 208 receives, from the area allocation unit 206, the segment number S, the intra-segment logical block number LBN (S), the physical block start number PBsn (S), and the total number of physical blocks PBtn (S). And (S21).
  • the address conversion unit 208 also reads out the address management table of the area power of the nonvolatile memory 230 corresponding to the segment number S, and generates the read out address management table 209 and the physical area management table 209 and the logical physical conversion table 210 (S22). ).
  • the address conversion unit 208 searches for invalid blocks in the physical area management table 209, and determines the PBN (S) which is the write destination (S23). However, the search range is 0 to PBtn (S) -1.
  • the physical block number of the write destination The PBN is determined based on the equation (12) (S26), and the physical address in sector units, that is, the physical sector number PSN is determined based on the equation (13) (S27).
  • “I” is an operator indicating a logical sum
  • LSN [4: 0] indicates a bit string of bit 0 to bit 4 of the logical sector number LSN in FIG.
  • the data transferred by the access device 200 is written sequentially from page 0 to page 31 of the physical block (S 28).
  • the write data may be FAT.
  • the address management unit 215 makes the size of the logical address range uniform, and the size of the segment 0 where the data rewrite frequency is high is larger than that of the other segments 1 to 15. Assign logical address ranges and segments to be large. As a result, segment 0 secures more physical blocks than other segments 1-15, and the rewrite frequency per physical block in segment 0 is equal to the rewrite frequency per physical block in other segments. Can be Therefore, the data rewrite frequency is equalized in each segment, and the longevity of the nonvolatile memory 230 is realized. Further, the size of the address management table can be reduced by dividing the nonvolatile memory 230 into a plurality of segments and performing address management for each segment. As a result, the cost of the non-volatile storage device can be reduced.
  • the non-volatile system of the present embodiment differs from that of the first embodiment in the configuration of the non-volatile storage device.
  • the other configuration and operation are similar to those of the first embodiment.
  • configurations and operations different from those in the first embodiment will be described.
  • the number of logical blocks included in the logical address range corresponding to the segment with high rewriting frequency is smaller than the number of logical blocks included in another logical address range.
  • FIG. 10 is a diagram showing the configuration of the non-volatile storage system according to the second embodiment of the present invention.
  • Nonvolatile storage device 240b has basically the same configuration as nonvolatile storage device 240 of the first embodiment, and the configuration of power area allocation unit 206b and address conversion unit 208b is that of the first embodiment. It is different from
  • FIG. 11 is a memory map showing the correspondence between the logical address space and the physical address space in the present embodiment.
  • the logical space is divided into 16 ranges from logical address range 0-15.
  • the physical space is divided into 16 segments of segments 0-15.
  • the logical address range and the segment correspond one to one.
  • Each segment is composed of multiple physical block forces, and the physical block size is 16 kBytes.
  • LBtn (S) represents the total number of logical blocks in the logical address range S.
  • LBsn (S) represents the start number of the logical block in the logical address range S.
  • S is an integer value from 0 to 15.
  • the sizes of the logical address range (logical address range 0) corresponding to the segment with high rewriting frequency are 51, 453 and 125 MBytes, and other logical addresses
  • the size of the range (logical address range 1-15) is 62, 703, 125 MB yte.
  • the area allocation is adjusted so that the size of the logical address range corresponding to the frequently rewritten segment is smaller than the size of the other logical address range, and the size of each segment is uniform. There is.
  • the number of rewrite guarantee times for each segment is reached by making the ratio of the size of the segment and the logical address range for the segment with high rewrite frequency different from the ratio of the size of V for another segment.
  • Speed is averaged to extend the service life.
  • FIG. 12 is a diagram for explaining the physical area management table 209b according to the second embodiment.
  • FIG. 12 is a diagram showing the logical-physical conversion table 210b according to the second embodiment.
  • the address of the entry of the logical physical conversion table 210b corresponds to the intra-segment logical block number LBN (S), and the physical position corresponding to the logical block of the logical block number LBN (S) is located at that address position.
  • the physical block number PBN (S) of the block is stored.
  • FIG. 14 is a memory map of the area allocation table 207b of this embodiment.
  • the address of the entry of the area allocation table 207b is the segment number S, and the logical block start number LBsn (S) of the segment S and the total number of logical blocks LBtn (S) are stored in the address.
  • the logical block start number LBsn (S) corresponds to the start address of the logical address range corresponding to the segment S, and the total number of logical blocks LBtn (S) is the total number of logical blocks included in the logical address range corresponding to the segment S Represents
  • the basic operation of the nonvolatile memory system of this embodiment is the same as that of the first embodiment.
  • the rewriting frequency in the present embodiment will be examined.
  • the preconditions for writing are as described in the first embodiment.
  • Non-volatile storage device 240 b sets the size of each segment equally, and the rewriting frequency is high!
  • the logical address range corresponding to segment 0 The size of is smaller than the size of the other logical address ranges 1-15.
  • each logical address range is determined as follows. The basic idea in the determination is to make the sizes of the other logical address ranges 1 to 15 as large as possible in order to reduce the size of the logical address range 0.
  • logical address ranges 1 to 1 are given by equation (14). Determine the number of logical blocks of 5.
  • the coefficient 0.02 in Equation (14) is a coefficient corresponding to the defective block occurrence rate (for example, 2%) of the non-volatile memory 230, and “1” of the second item on the left side is a physical block storing the address management table It corresponds to one.
  • 63, 488 are the total number of logical blocks of the non-volatile memory 230.
  • the system area, etc. which is not directly related to the invention, is omitted in all areas.
  • the frequency of rewriting segment 0 is significantly reduced compared to the prior art, and rewriting between segment 0 and the other segments 1 to 15 is performed. It can be seen that the difference in frequency is smaller than in the prior art. Therefore, according to this embodiment as well, the rewrite frequency can be made uniform, and the non-volatile memory 230 can be made more durable.
  • the information for determining the boundaries is nonvolatile in the area allocation unit 206b as the area allocation table 207b as shown in FIG. Stored in RAM.
  • the area allocation table 207b may be stored in any physical block of the non-volatile memory 230 and read out to the RAM at the time of initialization.
  • the RAM may be provided in the area allocation unit 206b, or a partial area of the RAM 204 may be used.
  • the CPU 203 transfers control to the address management unit 215b.
  • the area allocation unit 206b determines the segment number S and the intra-segment logical block number LBN (S) for the logical address specified by the access device 200 while referring to the area allocation table 207b. . Specifically, the area allocation unit 206b performs processing as shown in the flowchart of FIG.
  • the area allocating unit 206b first receives the logical sector number LSN also for the access device 200 (S41), and calculates the logical block number L BN according to equation (18) based on the received logical sector number LSN. (S42). By shifting the logical sector number LSN to the right by 5 bits in equation (18), the power ⁇ and the logical block number LBN which are made the bit format shown in FIG. 7 can be obtained.
  • the segment number S and the intra-segment logical block number LBN (S) are calculated from the logical block number LBN (S 43).
  • the smallest S that satisfies Equation (19) is the segment number, and the logical block number LBN (S) is determined by Equation (20).
  • segment number S and the intra-segment logical block number LBN (S) are transferred to the address conversion unit 208b (S44), and the process is ended.
  • the address conversion unit 208b determines the physical address of the data rewrite destination according to the flowchart shown in FIG.
  • the address conversion unit 208b first receives the segment number S and the intra-segment logical block number LBN (S) from the area allocation unit 206b (S51).
  • the address conversion unit 208 b reads the address management table of the area of the nonvolatile memory 230 corresponding to the segment number S, and the read address management table also corresponds to the physical area management table 209 b.
  • the logical physical conversion table 210b is generated (S52).
  • the invalid block in the physical area management table 209b is searched, and the logical block number PBN (S) which is the write destination is determined (S53).
  • the search range (S) is 0 to 4095.
  • the bit in the physical block number PBN (S) position is made valid in the physical area management table 209b (S54), and the logical block number LBN (S) in the logical physical conversion table 210b is positioned.
  • the physical block number PBN (S) is written (S55).
  • the physical block number PBN of the write destination is determined based on equation (19) (S56), and further the physical address in sector units based on equation (20), The physical sector number PSN is determined (S57).
  • the data transferred from the access device 200 is written in order from page 0 to page 31 of the physical block (S 58).
  • the write data may be FAT.
  • the address management unit 215 b makes the segment size uniform, and the size of the logical address range 0 where the data rewrite frequency is high corresponds to the other logical address range 1 to 1. Assign logical address ranges and segments to be smaller than 15. As a result, the number of logical addresses of data to be written to segment 0 corresponding to logical address range 0 is reduced, so that the frequency of rewriting segment 0 is reduced, so that the frequency of data rewriting is equalized in each segment. 230 Life extension is realized. Further, by dividing the non-volatile memory 230 into a plurality of segments and performing address management for each segment, the size of the address management table can be reduced.
  • the ratio of the size of the logical address range to the size of the segment is made different from that of other logical address ranges in the logical address range where the data rewrite frequency is high. Assignment of logical address ranges and segments. This makes data rewrite frequency uniform in each segment To extend the life of the non-volatile memory device.
  • Embodiments 1 and 2 of the present invention as the division size of logical space and physical space, one of logical space and physical space is respectively set to a fixed size, and the other is set to a variable size. By doing this, the lifetime improvement of the nonvolatile memory device is realized, but even in the case where both spaces are divided as variable sizes, the same effect can be obtained by appropriately determining the area size.
  • the logical address range is replaced by 0, and the size ratio between the logical address range and the segment is also used for that logical address range. Make it different from that of other logical address ranges.
  • the size of the logical address range corresponding to the segment having a high defective block occurrence rate is allocated smaller than the size of the other logical address range, and the write frequency of data to each segment is adjusted. As a result, the arrival speed to the rewrite guarantee number of each segment is averaged, and as a result, the lifetime improvement of the nonvolatile memory device can be realized.
  • the non-volatile storage device of the present invention makes it possible to extend the life of a memory card or the like using a non-volatile memory (flash memory), and in particular, a personal computer, a still recording and reproducing device, a moving image recording and reproducing device Portable AV devices or portable phones such as mobile phones It is useful for the recording medium of the communication device.
  • flash memory non-volatile memory
  • Portable AV devices or portable phones such as mobile phones It is useful for the recording medium of the communication device.

Abstract

 不揮発性メモリのアドレス管理において、論理アドレス空間全体を複数の論理アドレス範囲0~15に分割し、物理アドレス空間を複数の物理領域(セグメント0~15)に分割する。各論理アドレス範囲を各物理領域(セグメント)に対応づけて管理する。各論理アドレス範囲のサイズを均等にした上で、FAT等の書き換え頻度の高いデータの格納が予想される論理アドレス範囲0に対応した物理領域(セグメント0)のサイズを他の物理領域のサイズよりも大きなサイズとして論理アドレス範囲及び物理領域を割当てる。または、物理領域のサイズを均等にした上で論理アドレス範囲0のサイズを他の論理アドレス範囲のサイズよりも小さなサイズに設定する。これにより、物理領域(セグメント)間の実際の書き換え頻度の均一化が図れ、不揮発性メモリの超寿命化が図れる。

Description

明 細 書
メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及び不揮 発性メモリのアドレス管理方法
技術分野
[0001] 本発明は、フラッシュメモリ等の不揮発性メモリを制御するメモリコントローラおよび 不揮発性メモリのアドレス管理方法に関する、本発明はまた、不揮発性メモリに対す るデータの書き込み、読み出しを行う不揮発性記憶装置及び不揮発性記憶システム に関する。
背景技術
[0002] 書き換え可能な不揮発性メモリを備えた不揮発性記憶装置は、半導体メモリカード を中心に、パーソナルコンピュータ(PC)に代表されるノンリアルタイム記録用の機器 や、デジタルビデオカメラに代表されるリアルタイム記録用の機器に対する外部記録 装置として、その需要が広まっている。力かる半導体メモリカードには様々な種類が あり、その一つとして SD (セキュアデジタル (登録商標) )メモリカードがある。
[0003] この SDメモリカードは、不揮発性メモリであるフラッシュメモリと、それを制御するメモ リコントローラとを備えている。メモリコントローラは、 PC等のアクセス装置力もの読み 書き指示に応じてフラッシュメモリに対する読み書き制御を行う。
[0004] このような SDメモリカードを PC等のアクセス装置に取り付け、アクセス装置側からリ ムーバブルディスクと見なして、 FATファイルシステムで管理し、データのアクセスを 行う場合を考える。 FATファイルシステムでは、記録デバイスへファイルやデータを 記録する際にファイル 'アローケシヨン'テーブル (FAT)を用いて、通常、クラスタ単 位ごとにデータの読み書きが指示される。
[0005] 半導体メモリカードの主記憶メモリとして使用されるフラッシュメモリは、消去単位で ある複数の物理ブロック力 構成され、各物理ブロックは書き込み単位であるページ 力も構成される。このようなフラッシュメモリを使用した半導体メモリカードは、書き換え 回数の制限という固有の問題を有しており、新たなメモリ技術の採用によって改良が 続けられてはいるものの、外部記憶装置として使用する上では、データ記憶の信頼 性の面で完全ではない。このため、半導体メモリカードにおいては、データのリード z ライトだけでなぐデータの信頼性についても管理することが必要である。
[0006] 通常、半導体メモリカードにおいては、代替ブロックが用意されており、リード Zライ トエラーなどが発生した不良ブロックを代替ブロックに置換することによって信頼性の 向上が図られている。また特定の物理ブロックに書き換えが集中しないようにするた めに、ウェアレべリングといったアドレス管理方法が導入されている。ウェアレべリング は、アクセス装置が指定した論理アドレスをフラッシュメモリの物理アドレスに変換する 、いわゆる論理 物理変換の技術であり、通常、アドレス管理テーブルを用いて実現 する。
[0007] ウェアレべリングの一つの方法として、従来から分散型アドレス管理方法が使用され ている。分散型アドレス管理方法とは、書き込み単位であるページの管理領域にそ のブロックの論理アドレスや状態フラグを記憶しておき、初期化時に、それらの情報を 読み出し、読み出した情報に基づいてメモリコントローラ内の RAMにアドレス管理テ 一ブルを構成する方法である。
[0008] しかし、大容量メモリ空間を有する不揮発性記憶装置においては、初期化時に全メ モリ空間の管理領域を読み出すには多大な時間を要してしまう。これでは不揮発性 記憶装置の規格上の初期化時間上限値を超えてしまう等の規格違反が生じる。また 特に規格が無い不揮発性記憶装置においては、規格違反ではないものの、アクセス 可能になるまでの待ち時間が長いというデメリットがあった。更にはアドレス管理テー ブルを一時記憶する RAMの容量が膨大となり、コスト面でも問題がある。
[0009] この問題を解決するために、例えば特許文献 1に示すような記憶装置においては( 1)セグメント管理方法と(2)集中型アドレス管理方法の 2つの技術を組み合わせて使 用している。
[0010] セグメント管理方法とは、アクセス装置が管理している論理アドレスの空間全体を複 数の論理アドレス範囲に分割し、この複数の論理アドレス範囲を、フラッシュメモリを 物理的に区分した複数の物理領域 (セグメント)に対応づけて管理する方法である。
[0011] 一方、集中型アドレス管理方法とは、アドレス管理テーブルそのものをフラッシュメ モリに記憶し、アクセス装置力ものデータの書き込み命令毎にアドレス管理テーブル を RAMに読み出し、データの書き込み終了後にアドレス管理テーブルを RAM上で 更新してフラッシュメモリに書き戻す方法である。
特許文献 1:特開 2003— 323352号公報
発明の開示
発明が解決しょうとする課題
[0012] 従来の不揮発性記憶装置においては、図 17に示すように物理空間が各々均等な サイズのセグメント(物理領域)に分割されている。物理空間の各セグメントのサイズは 同じであるため、書き換え可能な回数は各セグメントで等しくなる。一方、論理空間も 各々均等なサイズに分割されて ヽる。
[0013] ファイルアロケーションテーブル(FAT)は他のデータと比べて書き換え頻度が高く
、また、通常アドレス範囲の先頭領域に書き込まれる(例えば、図 17における論理ァ ドレス範囲 0)。
[0014] FATのような書き替え頻度が高いデータが存在する場合、そのようなデータを含む 論理アドレス範囲 (論理アドレス範囲 0)へのアクセス頻度が他の論理アドレス範囲( 論理アドレス範囲 1〜15)へのアクセス頻度よりも高くなる。そのため、アドレス範囲 0 に対応するセグメント(セグメント 0)力 他のセグメント(セグメント 1〜15)よりも早く書 き換え寿命がきてしまい、有効な記憶領域が存在するにも関わらず、結果的に不揮 発性記憶装置はセグメント 0の寿命と同時に使用不可能になってしまうといった問題 がある。
[0015] 本発明は、このような従来の問題点に鑑みてなされたものであって、長寿命を実現 する不揮発性記憶装置を実現する技術を提供することを目的とする。
課題を解決するための手段
[0016] 本発明に係るメモリコントローラは、外部のアクセス装置から与えられるコマンドと論 理アドレスにしたがい不揮発性メモリに対してデータの書き込み、読み出しを行うメモ リコントローラである。メモリコントローラは、不揮発性メモリに対してデータの読み出し
、書き込みの制御を行う、読み書き制御手段と、論理アドレス空間全体を複数の論理 アドレス範囲に分割し、各論理アドレス範囲毎に個別のアドレス管理を行うとともに、 不揮発性メモリの記憶領域を物理的に複数の物理領域に分割し、論理アドレス範囲 と物理領域とを対応づけて管理するアドレス管理手段とを備える。アドレス管理手段 は、少なくとも 1つの論理アドレス範囲にっ 、て物理領域のサイズに対する論理アド レス範囲のサイズの比を、他の論理アドレス範囲のものと異ならせるように、各論理ァ ドレス範囲及び前記各物理領域を割り当てる領域割当て手段を含む。
[0017] 領域割当て手段は、各論理アドレス範囲のサイズが各々均等となるように論理アド レス範囲を割り当て、かつ、少なくとも 1つの物理領域のサイズが他の物理領域のサ ィズと異なるように物理領域を割り当ててもよい。この場合、書き換え頻度の高いデー タを格納する論理アドレス範囲に対応した物理領域のサイズを、他の物理領域のサ ィズよりも大きなサイズに設定してもよい。
[0018] または、領域割当て手段は、各物理領域のサイズが各々均等となるように物理領域 を割り当て、かつ、少なくとも 1つの論理アドレス範囲のサイズが他の論理アドレス範 囲のサイズと異なるように前記論理アドレス範囲を割り当ててもよい。この場合、書き 換え頻度の高 、データを格納する論理アドレス範囲のサイズを、他の論理アドレス範 囲のサイズよりも小さなサイズに設定してもよ 、。
[0019] 書き換え頻度の高 、データは、例えば、ファイルアロケーションテーブル (FAT)の ようなファイル管理に使用される管理情報である。
[0020] 本発明に係る不揮発性記憶装置は、不揮発性メモリと、不揮発性メモリに対してデ ータの書き込み、読み出しを行う上記のメモリコントローラとを含む。
[0021] 本発明に係る不揮発性記憶システムは、上記の不揮発性装置と、不揮発性装置に 対して論理アドレスを指定してアクセスするアクセス装置とを含む。
[0022] 本発明に係るアドレス管理方法は、アクセス装置から与えられるコマンドと論理アド レスにしたがいデータの書き込み、読み出しを行い、複数の物理ブロックを含む不揮 発性メモリのアドレス管理方法である。そのアドレス管理方法は、論理アドレス空間全 体を複数の論理アドレス範囲に分割し、各論理アドレス範囲毎に個別のアドレス管理 を行い、不揮発性メモリの記憶領域を物理的に複数の物理領域に分割し、論理アド レス範囲と物理領域とを対応づけて管理し、少なくとも 1つの論理アドレス範囲につい て物理領域のサイズに対する論理アドレス範囲のサイズの比を、他の論理アドレス範 囲のものと異ならせるように論理アドレス範囲及び物理領域を割り当てる。 発明の効果
[0023] 本発明によれば、データの書き換え頻度が高い論理アドレス範囲について、セグメ ントのサイズに対する論理アドレス範囲のサイズの比を、他の論理アドレス範囲のもの と異ならせるように論理アドレス範囲及びセグメントの割り当てを行う。これにより、各 セグメントにおいてデータ書き換え頻度が均一化され、不揮発性記憶装置の長寿命 化が図れる。
図面の簡単な説明
[0024] [図 1]本発明の実施の形態 1における不揮発性記憶システムの全体構成を示したブ ロック図
[図 2]本発明の実施の形態 1による論理アドレス空間と物理アドレス空間の対応を表 すメモリマップを示す図
[図 3]本発明の不揮発性記憶装置の不揮発性メモリにおける物理ブロックを説明した 図
[図 4]本発明の実施の形態 1の不揮発性記憶装置の物理領域管理テーブルを示す 図
[図 5]本発明の実施の形態 1の不揮発性記憶装置の論理物理変換テーブルを示す 図
[図 6]本発明の実施の形態 1の不揮発性記憶装置の領域割当てテーブルのメモリマ ップを示す図
[図 7]本発明の実施の形態 1の不揮発性記憶装置の論理セクタ番号 LSN (論理セク タアドレス)と物理セクタ番号 PSN (物理セクタアドレス)との対応を示したアドレスフォ 一マットを示す図
[図 8]本発明の実施の形態 1の不揮発性記憶装置の領域割当て部の処理を表すフロ ーテヤー卜
[図 9]本発明の実施の形態 1の不揮発性記憶装置のアドレス変換部の処理を表すフ 口1 ~~チヤ1 ~~卜
[図 10]本発明の実施の形態 2における不揮発性記憶システムの全体構成を示したブ ロック図 圆 11]本発明の実施の形態 2における論理アドレス空間と物理アドレス空間の対応を 表すメモリマップを示す図
[図 12]本発明の実施の形態 2の不揮発性記憶装置の物理領域管理テーブルを示す 図
圆 13]本発明の実施の形態 2の不揮発性記憶装置の論理物理変換テーブルを示す 図
圆 14]本発明の実施の形態 2の不揮発性記憶装置の領域割当てテーブルのメモリマ ップを示す図
圆 15]本発明の実施の形態 2の不揮発性記憶装置の領域割当て部の処理を表すフ 口1 ~~テャ1 ~~卜
[図 16]本発明の実施の形態 2の不揮発性記憶装置のアドレス変換部の処理を表す フローチャート
[図 17]従来の論理アドレス空間と物理アドレス空間の対応を表すメモリマップを示す 図
符号の説明
200 アクセス装置
201 ホストインタフェース
202 ノ ッファメモリ
203 CPU
204 RAM
205 ROM
206、 206b 領域割当て部
207、 207b 領域割当てテーブル
208、 208b アドレス変換部
209、 209b 物理領域管理テ -ブル
210、 210b 論理物理変換テ -ブル
211 読み書き制御部
215、 215b アドレス管理部 220b メモリコントローラ
230 不揮発性メモリ
240、 240b 不揮発性記憶装置
発明を実施するための最良の形態
[0026] 以下、本発明の実施の形態による不揮発性記憶システムについて、添付の図面を 用いて説明する。
[0027] (実施の形態 1)
1. 1 システム構成
図 1は本発明の実施の形態 1における不揮発性記憶システムの構成を示した図で ある。不揮発性記憶システムは、アクセス装置 200と、アクセス装置 200によりデータ の書き込み、読み出しが行われる不揮発性記憶装置 240とを含む。
[0028] 不揮発性記憶装置 240は、アクセス装置 200からのデータ書き込み命令にしたが い、データを記憶し、データ読み出し命令にしたカ^、、記憶されたデータが読み出さ れる。不揮発性記憶装置 240はメモリコントローラ 220及び不揮発性メモリ 230を含 む。メモリコントローラ 220は、ホストインタフェース 201、ノ ッファメモリ 202、 CPU20 3、 RAM204, ROM205、領域割当て部 206、アドレス変換部 208、読み書き制御 部 211を有する。領域割当て部 206とアドレス変換部 208はアドレス管理部 215を構 成する。
[0029] 領域割当て部 206は領域割当てテーブル 207を含み、アドレス変換部 208は物理 領域管理テーブル 209と論理物理変換テーブル 210を含む。
[0030] 領域割当て部 206は、論理アドレス空間の論理アドレス範囲と物理アドレス空間の セグメントとの対応づけを行う。以下、論理アドレス範囲とセグメントについて説明する
[0031] 図 2は、本実施の形態における論理アドレス空間と物理アドレス空間の対応を表す メモリマップである。論理アドレス空間は、アクセス装置 200が書き込み、読み出し時 に指定するアドレスの空間であり、物理アドレス空間はフラッシュメモリなどの不揮発 性メモリ 230内の物理的なアドレス空間である。本実施形態では、論理アドレス空間 は論理アドレス範囲 0〜15の 16の範囲に分割され、物理アドレス空間はセグメント 0 〜 15までの 16セグメントに分割される。各セグメントは複数の物理ブロック力も構成さ れ、 1物理ブロックのサイズは 16kByteとする。同図において、 PBtn (S)は、セグメン ト Sに含まれる物理ブロックの総数を表す。 PBsn (S)は、セグメント Sにおける物理ブ ロックの開始番号を表す。 Sは 0〜 15までの整数である。領域割当て部 206は図 2に 示す論理アドレス範囲とセグメントとの対応づけを行う。
[0032] 図 1に戻り、アドレス変換部 208は、領域割当て部 206の領域割当て処理に基づい てデータの書き込み先などのアドレスを決定する。読み書き制御部 211はアドレス変 換部 208が指定した物理アドレスに対してデータの書き込みや読み出しを行う。
[0033] 領域割当てテーブル 207は、領域割当て部 206に内蔵の不揮発性 RAM (図示せ ず)に記憶させてもよいし、または、不揮発性メモリ 230に記憶しておき、不揮発性記 憶装置 240の初期化時に揮発性 RAMに読み出すようにしてもよい。本実施の形態 においては、説明の簡単ィ匕の為に領域割当てテーブル 207は不揮発性 RAMに記 憶するものとする。
[0034] 物理領域管理テーブル 209と論理物理変換テーブル 210は、不揮発性メモリ 230 のセグメント毎に一組ずつ記憶されており、一組の物理領域管理テーブル 209と論 理物理変換テーブル 210は、一つのセグメント範囲内のアドレスを管理する。なお、 物理領域管理テーブル 209と論理物理変換テーブル 210の全ての組をまとめて、以 降「アドレス管理テーブル」と称する。
[0035] 不揮発性メモリ 230は 1GByte (1, 073, 741, 824Byte)の記憶容量を有する。
アクセス装置 200からみたアドレス空間すなわち論理アドレス空間は図 2に示すとお り 1, 040, 187, 392Byteである。
[0036] 図 3は不揮発性メモリ 230の物理ブロックの構成を示した図である。 1つの物理ブロ ックは 32ページで構成され、各ページは 512Byteのデータ領域と 16Byteの管理領 域とから構成される。 1物理ブロックにおいて 16kByte (512Byte X 32ページ)のデ ータを記憶することができる。 1クラスタ( 1論理ブロックに相当)の書き込みに対して、 1物理ブロックのページ 0〜ページ 31の領域に順番に書き込まれる。ページ 0の管理 領域には、その物理ブロックに関する分散管理情報が格納される。分散管理情報は 、アクセス装置 200が指定する論理ブロック番号と物理ブロックのステータスを示すブ ロックステータスとを含む。不揮発性メモリ 240の初期化時に、セグメント番号 Sに対 応する不揮発性メモリ 230の領域に含まれる物理ブロックのそれぞれから分散管理 情報が読み出されて、セグメント Sに関するアドレス管理テーブルが作成され、セグメ ント Sの領域に格納される。
[0037] 図 4は物理領域管理テーブル 209を説明した図である。図 4において、物理領域管 理テーブル 209の各エントリのアドレスは、不揮発性メモリ 230のセグメント S内の物 理ブロック番号 PBN (S)に対応する。物理領域管理テーブル 209は、物理ブロック 毎に、その状態 (ブロックステータス)に関する情報として「有効」、「無効」、「不良」等 を格納する。具体的には、 2進数で「00」が有効ブロックを示し、既に有効なデータが 書き込まれているブロックを表す。 2進数で「11」が無効ブロックを示し、消去済みブ ロック、又は既にデータは書き込まれているが不要なブロックを示す。 2進数で「10」 が不良ブロックを示し、メモリセル上のソリッドエラー等により使用できなくなったブロッ クである。 2進数で「01」は、その物理ブロックが、アドレス管理テーブルを記憶してい る物理ブロックであることを示す。このように少なくとも 4つの状態が存在する。
[0038] 図 5は論理物理変換テーブル 210を説明した図である。図 5において、論理物理変 換テーブル 210の各エントリのアドレスは、セグメント S内の論理ブロック番号 LBN (S )に対応する。そのアドレスの領域に、論理ブロック番号 LBN (S)に対応する物理ブ ロック番号 PBN (S)が記憶されて 、る。
[0039] 図 6は領域割当てテーブル 207のメモリマップである。領域割当てテーブル 207の 各エントリのアドレスはセグメント番号 Sに対応し、当該アドレスの領域に各セグメント S の物理ブロック開始番号 PBsn (S)と物理ブロック総数 PBtn (S)が記憶されて!、る。 すなわち、領域割当てテーブル 207は、物理ブロック開始番号 PBsn (S)を記憶した 部分と、物理ブロック総数 PBtn (S)を記憶した部分とを含む。前者は各セグメントの 開始番地に対応し、後者は各セグメントを構成する物理ブロックの総数を表す。
[0040] 図 7は論理セクタ番号 LSN (論理セクタアドレス)と、物理セクタ番号 PSN (物理セク タアドレス)との対応を示したアドレスフォーマットである。論理セクタ番号 LSNのビット 0〜ビット 4 (LSN [4 : 0])は物理ブロックのページ番号(PSN [4 : 0])に対応する。論 理セクタ番号 LSNのビット 20〜ビット 5は論理ブロック番号 LBNである。論理ブロック 番号 LBNはクラスタ番号に対応する。領域割当て部 206は、この論理ブロック番号 L BNに基づ 、て図 6に示す領域割当て処理を実行する。
[0041] 1. 2 動作
以上のように構成された不揮発性記憶装置 240について、以下その動作を説明す る。
[0042] 1. 2. 1 基本動作
まず、本不揮発性記憶装置 240が出荷された後、最初に使用される際は、不揮発 性メモリ 230の良ブロックは全て消去された状態となっている。但し、各セグメント内に 、そのセグメントのアドレス管理を行うためのアドレス管理テーブルがそのセグメントの 最終アドレスの 1物理ブロックにまとめて記憶されるものとする。この時、物理領域管 理テーブル 209にお 、て、当該物理領域管理テーブル 209を含むアドレス管理テー ブルが記憶された物理ブロック、すなわち最終アドレスの物理ブロックに対応するス テータスフラグは「01」に設定され、不良ブロックである物理ブロックに対応するステ 一タスフラグは「10」に設定される。なお、実際にはシステム情報が記憶されたシステ ム領域が存在するが、本発明の思想とは直接関係ないのでその説明は省略する。
[0043] 不揮発性記憶装置 240の電源が ONされた後、 CPU203は ROM205に記憶され たプログラムに基づ 、て初期化処理を行った後、アクセス装置 200からの読み書き等 のコマンドの受信待ち状態に入る。
[0044] その後アクセス装置 200が所望の論理アドレス範囲内への書き込み指示を行う。画 像データなどのいわゆるコンテンツデータ(以降単に「データ」と称す。 )は全ての論 理アドレス範囲に対して書き込みがなされる力 FATは論理アドレス範囲 0に対して のみ書き込まれる。データや FATの書き込み毎に、書き込み先の論理アドレス範囲 に対応する不揮発性メモリ 230のセグメント内に記憶されたアドレス管理テーブルが 、当該セグメントの最終アドレスの 1物理ブロック力 読み出される。読み出されたアド レス管理テーブルに基づき物理領域管理テーブル 209と論理物理変換テーブル 21 0が構成され、アドレス変換部 208内の RAMに格納される。
[0045] データや FATの書き込みに際しては、物理領域管理テーブル 209と論理物理変 換テーブル 210に基づ!/、て書き込み先の物理ブロックを決定し、その物理ブロックに 対して書き込みがなされる。データや FATの書き込み後、物理領域管理テーブル 2 09と論理物理変換テーブル 210は、アドレス変換部 208によって RAM上で更新さ れ、再び不揮発性メモリ 230に書き戻される。アドレス管理テーブルを記憶する物理 ブロックもウェアレべリングの対象であるので、後述する通り、書き戻し先の物理ブロッ クは、データや FATの書き込み毎に変更される。
[0046] ここで、書き込みは、説明の簡単ィ匕のために下記の前提条件にてなされるものとす る。
<書き込みの前提条件 >
(1)不揮発性記憶装置の書き込みレートは 2MBZ秒とする。
(2)データ 1秒分の書き込みにおいて 1回の FAT書き込みがなされる。
(3)データは 1回のライトコマンドにお!/、て 1クラスタ(16kByte)分が書き込まれるも のとする。
(4) FATは F ATIと FAT2に 2重化されており、それぞれ 16kByteの容量、合計 32 kByteの容量を有する。 FATは 1回のライトコマンドにおいて 32kByte分が書き込ま れるものとする。
(5)物理ブロックサイズは 16kByteとする(図 3参照)。
(6)不揮発性メモリ 230の不良ブロック発生率は 2%であり、セグメント毎においても それぞれ 2%の不良ブロック発生率とする。
(7)物理領域管理テーブル 209 (約 lkByte)と論理物理変換テーブル 210 (約 8kB yte)は、対応するセグメント内の 1つの物理ブロックにまとめて記憶される。このまとめ たものをアドレス管理テーブルと呼ぶ。
(8)不揮発性メモリ 230の各セグメント内の 1物理ブロックに 1つのアドレス管理テー ブルが記憶されており、アクセス装置 200からのアクセスがある毎に、アドレス変換部 208内の RAMに読み出され物理領域管理テーブル 209と論理物理変換テーブル 2 10が構成される。データや FATの書き込みが実行された後に RAM上においての物 理領域管理テーブル 209と論理物理変換テーブル 210が更新され、更新後アドレス 管理テーブルとして前記物理ブロックとは別の物理ブロックに書き戻される。
[0047] 1. 2. 2 書き換え頻度の検討 以上の前提条件に従って書き込みがなされる場合において、従来の不揮発性記憶 装置と対比しながら本発明の実施の形態 1の不揮発性記憶装置の各セグメントの書 き換え頻度について検討する。
[0048] <従来の不揮発性記憶装置 >
従来の不揮発性記憶装置は、図 19に示すように各セグメントサイズは同じサイズで あるので、全論理空間すなわち約 1GByte分の領域を書き換える場合においては、 FATを格納するセグメント 0が他のセグメントよりも書き換え頻度が高くなる。
[0049] 具体的に説明すると、まず全論理空間すなわち約 1GByte分の領域に記憶してい たデータを一通り書き換えることにより、各セグメントにおいてデータが書き換えられ た物理ブロック数は、対応する論理アドレス範囲を構成するクラスタ数に等 、3968 個となる。この書き換えに要する時間は、前提条件(1)及び式(1)により 512秒となる
1 GByte ÷ 2MBZ秒 = 512秒 …( 1 )
[0050] 前提条件(2)、(4)、 (5)により、 512秒の間に?八丁(321^ 6分)は 512回書き換 わることになる。 FATはセグメント 0のみに割当てられるので、この FATの書き換えに よりセグメント 0において FATが書き換えられた物理ブロック数は式(2)により 1024個 となる。
(32kByteZl6kByte)個 X 512回 = 1024個 · · ·(2)
[0051] セグメント 1〜セグメント 15まではデータのみを記憶するセグメントであるので、各物 理ブロックが書き換えられる頻度は、式(3)により 0. 97回となる。
3968個 Z4096個 0. 97回 · · · (3)
[0052] これに対して、セグメント 0はデータと FATを含むので、セグメント 0において各物理 ブロックが書き換えられる頻度は式 (4)により 1. 22回となる。なお、式 (4)の左辺の「 2個」は、 FAT1、 2の 2クラスタ分を除く事に対応する。
(3968個— 2個 + 1024個) Z4096個 1. 22回 …(4)
[0053] 式(3)、(4)により、セグメント 0が他のセグメントよりも書き換え頻度が高ぐ比較的 早く書き換え保証回数 (例えば 10万回)に到達してしまうことがわかる。すなわち、従 来の不揮発性記憶装置の寿命は、セグメント 0の書き換え保証回数への到達速度と 等しくなつてしまう。
[0054] <本発明の第 1の実施の形態における不揮発性記憶装置 >
本発明の実施の形態 1における不揮発性記憶装置 240においては、書き換え頻度 の高いセグメント 0に含まれる物理ブロック数力 他のセグメントに含まれる物理ブロッ ク数よりも多くなるように領域割当てを調整している。これにより、各セグメントの書き換 え保証回数への到達速度を平均化し、長寿命化を図る。
[0055] すなわち、本実施の形態における不揮発性記憶装置 240は、図 2に示すように書き 換え頻度の高いセグメント 0のサイズを他のセグメント 1〜15のサイズよりも大きくした 。セグメントサイズの算出は、不揮発性メモリ 230の不良ブロック発生率やメモリコント ローラのアーキテクチャ等によって異なる力 本実施の形態においては、以下のよう にして各論理アドレス範囲を決定した。決定に際しての基本的な考え方は、セグメン ト 0のサイズをできるだけ大きく確保するために、それ以外のセグメント 1〜 15のサイ ズを可能な限り小さくすることである。
[0056] 具体的には、まず式(5)によりセグメント 1〜15の各々のセグメントの物理ブロック数 を決定する。式(5)における係数 0. 02は不揮発性メモリ 230の不良ブロック発生率( 例えば 2%)に対応する係数であり、左辺の 1個はアドレス管理テーブルを格納する 物理ブロック 1個分に対応する。
{ (3968個 + 1個) Z(l— 0. 02) } =4050個 · · · (5)
すなわち、セグメント 1〜15の大きさを、不良ブロック発生率を考慮した最小限必要な サイズとして求める。
[0057] 次にセグメント 0の物理ブロック数は式(6)により決定する。
65536個—(4050個 X 15セグメント) =4786個 …(6)
ここで 65536個は不揮発性メモリ 230の総物理ブロック数である。なお、本実施の形 態にお 、ては、簡単のためにシステム領域など発明と直接関係のな 、領域につ!、て は省略した。
[0058] よって、セグメント 1〜セグメント 15において各物理ブロックが書き換えられる頻度は 、次式により 0. 98回となる。
3968個 Z4050個 0. 98回 · · · (7) [0059] セグメント 0において各物理ブロックが書き換えられる頻度は次式により 1. 04回とな る。
(3968個— 2個 + 1024個) Z4786個 1. 04回 · · ·(8)
[0060] 上記の算出結果を参照すると、本実施形態によれば、従来技術に比してセグメント 0の書き換え頻度が大幅に低減され、セグメント 0とそれ以外のセグメント 1〜 15との 間の書き換え頻度の差が従来技術に比してより小さくなつて 、ることが分かる。よって
、本実施形態により、書き換え頻度の均一化が図れ、不揮発性メモリ 230の超寿命 化が可能となる。
[0061] 式(5)、 (6)により、各セグメントの物理的な境界が決まる力 この情報は図 6に示す ような領域割当てテーブル 207として、領域割当て部 206内の不揮発性 RAMに記 憶される。なお領域割当てテーブル 207は不揮発性メモリ 230のどこかの物理ブロッ クに記憶させておき、初期化時において RAMに読み出すようにしても構わない。 RA Mは領域割当て部 206内に設けても良 、し、 RAM204の一部の領域を使用しても よい。
[0062] 1. 2. 3 アドレス管理部の処理
以下、アクセス装置 200から、 1クラスタ分のデータについて書き換え指示がなされ た場合について、アドレス管理部 215 (領域割当て部 206及びアドレス変換部 208) の処理を説明する。
[0063] メモリコントローラ 220がアクセス装置 200から書き込みコマンドを受信すると、 CPU 203は制御をアドレス管理部 215に移す。アドレス管理部 215にお 、て領域割当て 部 206は、領域割当てテーブル 207を参照しながら、アクセス装置 200が指定した論 理アドレスに対するセグメント番号 Sやセグメント内論理ブロック番号 LBN (S)を決定 する。具体的には、領域割当て部 206は図 8に示すフローチャート通りに処理を行う
[0064] まず、領域割当て部 206は、アクセス装置 200から論理セクタ番号 LSNを受信し( S 11)、受信した論理セクタ番号 LSNに基づいて論理ブロック番号 LBNを式(9)に 従って算出する(S 12)。式(7)において、 > >は右シフトを表す演算子であり、論理 セクタ番号 LSNを 5ビット分右にシフトすることにより、図 7に示したビットフォーマツト にしたが!、論理ブロック番号 LBNが求まる。
LBN = LSN> > 5 · · · (9)
[0065] 次に、式(10)、 (11)に基づき、論理ブロック番号 LBNから、セグメント番号 Sとセグ メント内の論理ブロック番号 LBN (S)を算出する(S 13)。なお、式(10)において、 in t ()は整数を求める演算子である。また式(11)において、%は剰余を求める演算子 である。
S=int (LBN/3968) …(10)
LBN (S) =LBN%3968 · · · (11)
[0066] 式(10)で求めたセグメント番号 Sに基づき領域割当てテーブル 207を参照し、各セ グメントの物理ブロック開始番号 PBsn (S)と物理ブロック総数 PBtn (S)を決定する( S14)。最後に、セグメント番号 Sと、セグメント内論理ブロック番号 LBN (S)と、物理 ブロック開始番号 PBsn (S)と、物理ブロック総数 PBtn (S)とを、アドレス変換部 208 に転送し (S15)、処理を終了する。
[0067] その後、アドレス変換部 208は図 9に示すフローチャートに従ってデータ書き換え 先の物理アドレスを決定する。
[0068] まず、アドレス変換部 208は、領域割当て部 206から、セグメント番号 Sと、セグメン ト内論理ブロック番号 LBN (S)と、物理ブロック開始番号 PBsn (S)と、物理ブロック 総数 PBtn (S)とを受信する(S21)。アドレス変換部 208は、セグメント番号 Sに対応 する不揮発性メモリ 230の領域力もアドレス管理テーブルを読み出し、読み出したァ ドレス管理テーブルカゝら物理領域管理テーブル 209と論理物理変換テーブル 210を 生成する(S22)。
[0069] アドレス変換部 208は、物理領域管理テーブル 209内の無効ブロックをサーチし、 書込み先である PBN (S)を決定する(S23)。但し、サーチ範囲は 0〜PBtn(S)—1 である。
[0070] そして、物理領域管理テーブル 209において PBN (S)の位置にあるビットを有効に し(S24)、論理物理変換テーブル 210の LBN (S)の位置に、 PBN (S)を書き込む( S25)。
[0071] その後、不揮発性メモリ 230への書き込みにおいて、書込み先の物理ブロック番号 PBNを式(12)に基づき決定し(S26)、更に式(13)に基づき、セクタ単位での物理 アドレス、すなわち物理セクタ番号 PSNを決定する(S27)。なお、式(13)において、 「 I」は論理和を示す演算子であり、 LSN[4 : 0]は図 7の論理セクタ番号 LSNのビッ ト 0〜ビット 4のビット列を示す。
PBN = PBsn (S) + PBN (S) · · · (12)
PSN= (PBN< < 5) I LSN[4 : 0] · · · (13)
[0072] 書き込み先の物理ブロックを消去した後、その物理ブロックのページ 0からページ 3 1へ順にアクセス装置 200が転送したデータを書き込む(S28)。なお、書き込みデー タは FATである場合もある。
[0073] 1. 3 まとめ
以上のように、本実施の形態においては、アドレス管理部 215は、論理アドレス範 囲の大きさを均一にするとともに、データの書き換え頻度が高いセグメント 0の大きさ が他のセグメント 1〜15より大きくなるように、論理アドレス範囲及びセグメントの割り 当てを行う。これにより、セグメント 0が他のセグメント 1〜15よりも多くの物理ブロック 数を確保することとなり、セグメント 0内の各物理ブロックあたりの書き換え頻度を他の セグメント内の物理ブロックあたりの書き換え頻度と同等にすることができる。よって、 各セグメントにおいてデータ書き換え頻度が均一化され、不揮発性メモリ 230の長寿 命化を実現している。また、不揮発性メモリ 230を複数のセグメントに分割し、各セグ メント毎にアドレス管理を行うことでアドレス管理テーブルのサイズを小さくすることが 可能となる。その結果、不揮発性記憶装置のコストを低減できる。
[0074] (実施の形態 2)
本実施形態の不揮発性システムは、不揮発性記憶装置の構成が実施の形態 1のも のと異なる。それ以外の構成、及び動作は実施の形態 1のものと同様である。以下、 本実施形態において、実施の形態 1と相違する構成、動作について説明する。
[0075] 本実施の形態における不揮発性記憶装置においては、書き換え頻度の高いセグメ ントに対応した論理アドレス範囲に含まれる論理ブロック数力 他の論理アドレス範囲 に含まれる論理ブロック数よりも少なくなるように領域割当てすることにより、物理アド レス空間における各セグメントの書き換え保証回数への到達速度を平均化し、長寿 命化を図っている。
[0076] 2. 1 システム構成
図 10は本発明の実施の形態 2における不揮発性記憶システムの構成を示した図 である。
[0077] 不揮発性記憶装置 240bは、実施の形態 1の不揮発性記憶装置 240と基本的に同 様の構成を有する力 領域割当て部 206bとアドレス変換部 208bの構成が実施の形 態 1のものとは異なる。
[0078] 図 11は、本実施の形態における論理アドレス空間と物理アドレス空間の対応を表 すメモリマップである。論理空間は論理アドレス範囲 0〜 15までの 16の範囲に分割さ れる。物理空間はセグメント 0〜15までの 16セグメントに分割される。論理アドレス範 囲とセグメントは一対一に対応する。各セグメントは複数の物理ブロック力 構成され 、物理ブロックサイズは 16kByteとする。同図において、 LBtn (S)は、論理アドレス 範囲 Sにおける論理ブロックの総数を表す。また LBsn (S)は、論理アドレス範囲 Sに おける論理ブロックの開始番号を表す。但し Sは 0〜 15までの整数値である。
[0079] 図 11に示すように、本実施形態では、書き換え頻度の高いセグメントに対応した論 理アドレス範囲(論理アドレス範囲 0)のサイズは、 51, 453, 125MByteであり、それ 以外の論理アドレス範囲(論理アドレス範囲 1〜15)のサイズは、 62, 703, 125MB yteである。このように、書き換え頻度の高いセグメントに対応した論理アドレス範囲の サイズを他の論理アドレス範囲のサイズよりも小さくし、かつ、各セグメントの大きさが 均等になるように、領域割当てを調整している。このように、書き換え頻度の高いセグ メントに関する、セグメントと論理アドレス範囲のサイズの比率を、他のセグメントにつ V、てのサイズの比率と異ならせることで、各セグメントの書き換え保証回数への到達 速度を平均化し、長寿命化を図っている。
[0080] 図 12は実施の形態 2における物理領域管理テーブル 209bを説明した図である。
図 12において、物理領域管理テーブル 209bのエントリのアドレスは、不揮発性メモ リ 230のセグメント内の物理ブロック番号 PBN (S)に対応し、各物理ブロックの状態( ブロックステータス)として、「有効」、「無効」、「不良」等を記憶する。ブロックステータ スを示すステータスフラッグの値の意味は実施の形態 1で説明したものと同様である [0081] 図 13は実施の形態 2における論理物理変換テーブル 210bを示した図である。図 1 3において、論理物理変換テーブル 210bのエントリのアドレスはセグメント内論理ブ ロック番号 LBN (S)に対応し、そのアドレス位置に、論理ブロック番号 LBN (S)の論 理ブロックに対応する、物理ブロックの物理ブロック番号 PBN (S)が記憶されている。
[0082] 図 14は本実施形態の領域割当てテーブル 207bのメモリマップである。領域割当て テーブル 207bのエントリのアドレスはセグメント番号 Sであり、当該アドレスに、セグメ ント Sの論理ブロック開始番号 LBsn (S)と論理ブロック総数 LBtn(S)とが記憶されて いる。論理ブロック開始番号 LBsn (S)は、セグメント Sに対応する論理アドレス範囲 の開始番地に対応し、論理ブロック総数 LBtn(S)は、セグメント Sに対応する論理ァ ドレス範囲に含まれる論理ブロックの総数を表す。
[0083] 論理セクタ番号 LSN (論理セクタアドレス)と物理セクタ番号 PSN (物理セクタァドレ ス)との対応は、実施の形態 1における図 7に示すとおりである。
[0084] 2. 2 動作
本実施形態の不揮発性記憶システムの基本動作は実施の形態 1と同様である。
[0085] 2. 2. 1 書き換え頻度の検討
本実施の形態における書き換え頻度について検討する。なお、書き込みの前提条 件は実施の形態 1で示したとおりである。
[0086] 本実施の形態における不揮発性記憶装置 240bは、図 11に示すように、各セグメン トのサイズを均等に設定しつつ、書き換え頻度の高!、セグメント 0に対応した論理アド レス範囲 0のサイズを、それ以外の論理アドレス範囲 1〜 15のサイズよりも小さくして いる。
[0087] 論理アドレス範囲の算出は、不揮発性メモリ 230の不良ブロック発生率やメモリコン トローラのアーキテクチャ等によって異なる力 本実施形態では、以下のようにして各 論理アドレス範囲を決定した。決定に際しての基本的な考え方は、論理アドレス範囲 0のサイズを小さくするために、それ以外の論理アドレス範囲 1〜 15のサイズを可能 な限り大きくすることである。
[0088] 具体的には、本実施の形態においては、まず式(14)により論理アドレス範囲 1〜1 5の論理ブロック数を決定する。式(14)における係数 0. 02は不揮発性メモリ 230の 不良ブロック発生率 (例えば 2%)に対応する係数であり、左辺の第 2項目の「1」はァ ドレス管理テーブルを格納する物理ブロック 1個分に対応する。
{4096 (個) X (1 -0. 02) }— 1個 4013個 · · · (14)
[0089] 次に論理アドレス範囲 0の論理ブロック数を式(15)により決定する。
63488個—(4013個 X 15セグメント) = 3293個 · · · (15)
ここで 63, 488個は不揮発性メモリ 230の総論理ブロック数である。なお、本実施の 形態にお 、ては、簡単のためにシステム領域など発明と直接関係のな 、領域にっ ヽ ては省略した。以上のようにして論理アドレス範囲 0の範囲を求めることで、最大限可 能な論理アドレス範囲 0のサイズが求まる。
[0090] よって、セグメント 1〜セグメント 15において各物理ブロックが書き換えられる頻度は 、次式により 0. 98回となる。
4013個 Z4096個 0. 98回 …(16)
[0091] セグメント 0において各物理ブロックが書き換えられる頻度は次式により 1. 05回とな る。
(3293個— 2個 + 1024個) Z4096個 1. 05回 · ' ·(17)
[0092] 上記の算出結果を参照すると、本実施形態によれば、従来技術に比してセグメント 0の書き換え頻度が大幅に低減され、セグメント 0とそれ以外のセグメント 1〜 15との 間の書き換え頻度の差が従来技術に比してより小さくなつて 、ることが分かる。よって 、本実施形態によっても、書き換え頻度の均一化が図れ、不揮発性メモリ 230の超寿 命化が可能となる。
[0093] 式(14)、 (15)により各セグメントの論理的な境界が決まるが、境界を決定するため の情報は図 14に示すような領域割当てテーブル 207bとして、領域割当て部 206b 内の不揮発性 RAMに記憶される。なお領域割当てテーブル 207bは不揮発性メモリ 230のどこかの物理ブロックに記憶させておき、初期化時において RAMに読み出す ようにしても構わない。 RAMは領域割当て部 206b内に設けても良いし、 RAM204 の一部の領域を使用してもよい。
[0094] 2. 2. 2 アドレス管理部の処理 以下、アクセス装置 200から、 1クラスタ分のデータについて書き換え指示がなされ た場合について、アドレス管理部 215b (領域割当て部 206b及びアドレス変換部 20 8b)の処理を説明する。
[0095] メモリコントローラ 220bがアクセス装置 200から書き込みコマンドを受信すると、 CP U203は制御をアドレス管理部 215bに移す。アドレス管理部 215bにお 、て領域割 当て部 206bは、領域割当てテーブル 207bを参照しながら、アクセス装置 200が指 定した論理アドレスに対するセグメント番号 Sやセグメント内論理ブロック番号 LBN (S )を決定する。具体的には、領域割当て部 206bは図 15に示すフローチャート通りに 処理を行う。
[0096] 図 15において、領域割当て部 206bはまず、アクセス装置 200力も論理セクタ番号 LSNを受信し(S41)、受信した論理セクタ番号 LSNに基づいて論理ブロック番号 L BNを式( 18)に従って算出する(S42)。式( 18)にお!/、て、論理セクタ番号 LSNを 5 ビット分右にシフトすることにより、図 7に示したビットフォーマットにした力^、、論理ブ ロック番号 LBNが求まる。
LBN = LSN> > 5 · · · (18)
[0097] 次に、論理ブロック番号 LBNから、セグメント番号 Sとセグメント内論理ブロック番号 LBN (S)とを算出する(S43)。式(19)を満たす最小の Sがセグメント番号となり、ま た、式(20)により論理ブロック番号 LBN (S)を求める。
LBN-LBsn (S) <LBtn(S) · · · (19)
LBN (S) =LBN-LBsn(S) …(20)
[0098] 最後に、セグメント番号 Sとセグメント内論理ブロック番号 LBN (S)をアドレス変換部 208bに転送し(S44)、処理を終了する。
[0099] その後、アドレス変換部 208bは図 16に示すフローチャートに従って、データ書き換 え先の物理アドレスを決定する。
[0100] 図 16において、アドレス変換部 208bはまず、領域割当て部 206bからセグメント番 号 Sとセグメント内論理ブロック番号 LBN (S)を受信する(S51)。アドレス変換部 208 bは、セグメント番号 Sに対応する不揮発性メモリ 230の領域カゝらアドレス管理テープ ルを読み出し、読み出したアドレス管理テーブル力も物理領域管理テーブル 209bと 論理物理変換テーブル 210bを生成する(S52)。
[0101] 物理領域管理テーブル 209b内の無効ブロックをサーチし、書込み先である論理ブ ロック番号 PBN (S)を決定する(S53)。サーチ範囲(S)は 0〜4095である。そして 物理領域管理テーブル 209bにお!/、て、物理ブロック番号 PBN (S)の位置にあるビ ットを有効にし(S54)、論理物理変換テーブル 210bの論理ブロック番号 LBN (S)の 位置に物理ブロック番号 PBN (S)を書き込む(S55)。
[0102] その後、不揮発性メモリ 230への書き込みにおいて、書込み先の物理ブロック番号 PBNを式(19)に基づき決定し(S56)、更に式(20)に基づき、セクタ単位での物理 アドレス、すなわち物理セクタ番号 PSNを決定する(S57)。
PBN=4096 X S + PBN (S) · · · (19)
PSN= (PBN< < 5) I LSN[4 : 0] . · · (20)
[0103] 書き込み先の物理ブロックを消去した後、その物理ブロックのページ 0からページ 3 1まで順に、アクセス装置 200から転送されたデータを書き込む(S58)。なお、書き 込みデータは FATである場合もある。
[0104] 2. 3 まとめ
以上のように、本実施の形態においては、アドレス管理部 215bは、セグメントの大 きさを均一にするとともに、データの書き換え頻度が高い論理アドレス範囲 0の大きさ が他の論理アドレス範囲 1〜15より小さくなるように、論理アドレス範囲及びセグメント の割り当てを行う。これにより、論理アドレス範囲 0に対応するセグメント 0に書き込ま れるデータの論理アドレス数が減少するため、セグメント 0の書き換え頻度が低下し、 よって、各セグメントにおいてデータ書き換え頻度が均一化され、不揮発性メモリ 230 の長寿命化が実現される。また、不揮発性メモリ 230を複数のセグメントに分割し、各 セグメント毎にアドレス管理を行うことでアドレス管理テーブルのサイズを小さくするこ とが可能となる。
[0105] すなわち、本発明の実施形態 1、 2においては、データの書き換え頻度が高い論理 アドレス範囲について、セグメントのサイズに対する論理アドレス範囲のサイズの比を 、他の論理アドレス範囲のものと異ならせるように論理アドレス範囲及びセグメントの 割り当てを行っている。これにより、各セグメントにおいてデータ書き換え頻度が均一 化され、不揮発性記憶装置の長寿命化を図っている。
[0106] なお、本発明の実施の形態 1及び 2においては、論理空間及び物理空間の分割サ ィズとして、論理空間及び物理空間の一方を各々均等な固定サイズとし、もう一方を 可変サイズとすることにより不揮発性記憶装置の長寿命化を実現したが、両空間とも 可変サイズとして分割する場合にぉ 、ても、領域サイズを適切に決定することで同様 の効果が得られる。
[0107] また、論理アドレス範囲 0以外に書き換え頻度の高い論理アドレス範囲が存在する 場合は、論理アドレス範囲 0にカ卩えて、その論理アドレス範囲についても、論理アドレ ス範囲とセグメント間のサイズ比を他の論理アドレス範囲のものと異ならせるようにして ちょい。
[0108] また、特定のセグメントの不良ブロック発生率が他のセグメントに比べて高ぐ使用 可能な物理ブロック数に差が出るような場合、前述した書き換え頻度の高いデータが 存在する場合と同様に特定のセグメントのみ早く書き換え寿命がきてしまうという問題 が起こり得る。このような場合に対しても、実施の形態 2と同様の方法で対策が可能と なる。すなわち、不良ブロック発生率が高いセグメントに対応した論理アドレス範囲の サイズを他の論理アドレス範囲のサイズよりも小さく割当てて、各セグメントへのデー タの書き込み頻度を調整する。これにより、各セグメントの書き換え保証回数への到 達速度が平均化され、結果として不揮発性記憶装置の長寿命化が実現できる。
[0109] 本発明は、特定の実施形態について説明されてきたが、当業者にとっては他の多 くの変形例、修正、他の利用が明らかである。それゆえ、本発明は、ここでの特定の 開示に限定されず、添付の請求の範囲によってのみ限定され得る。なお、本出願は 日本国特許出願、特願 2005— 219958号(2005年 7月 29日提出)及び特願 2005 — 331060号(2005年 11月 16日提出)に関連し、それらの内容は参照することによ り本文中に組み入れられる。
産業上の利用可能性
[0110] 本発明の不揮発性記憶装置は、不揮発性メモリ(フラッシュメモリ)を用いたメモリ力 ード等の長寿命化を可能とし、特に、パーソナルコンピュータ、静止記録再生装置や 動画記録再生装置等のポータブル AV機器、あるいは携帯電話等のポータブル通 信機器の記録媒体に有用である。

Claims

請求の範囲
[1] 外部のアクセス装置から与えられるコマンドと論理アドレスにしたカ^、不揮発性メモ リに対してデータの書き込み、読み出しを行うメモリコントローラであって、
前記不揮発性メモリに対してデータの読み出し、書き込みの制御を行う、読み書き 制御手段と、
前記論理アドレス空間全体を複数の論理アドレス範囲に分割し、各論理アドレス範 囲毎に個別のアドレス管理を行うとともに、前記不揮発性メモリの記憶領域を物理的 に複数の物理領域に分割し、論理アドレス範囲と物理領域とを対応づけて管理する アドレス管理手段とを備え、
前記アドレス管理手段は、少なくとも 1つの論理アドレス範囲について物理領域の サイズに対する論理アドレス範囲のサイズの比を、他の論理アドレス範囲のものと異 ならせるように前記各論理アドレス範囲及び前記各物理領域を割り当てる領域割当 て手段を含む
ことを特徴とするメモリコントローラ。
[2] 前記領域割当て手段は、各論理アドレス範囲のサイズが各々均等となるように前記 論理アドレス範囲を割り当て、かつ、少なくとも 1つの物理領域のサイズが他の物理 領域のサイズと異なるように前記物理領域を割り当てる、ことを特徴とする請求項 1に 記載のメモリコントローラ。
[3] 前記領域割当て手段は、書き換え頻度の高いデータを格納する論理アドレス範囲 に対応した物理領域のサイズを、他の物理領域のサイズよりも大きなサイズに設定す る、ことを特徴とする請求項 2に記載のメモリコントローラ。
[4] 前記書き換え頻度の高いデータは、ファイル管理に使用される管理情報である、こ とを特徴とする請求項 3に記載のメモリコントローラ。
[5] 前記管理情報はファイルアロケーションテーブル (FAT)である、ことを特徴とする 請求項 4に記載のメモリコントローラ。
[6] 前記領域割当て手段は、各物理領域のサイズが各々均等となるように前記物理領 域を割り当て、かつ、少なくとも 1つの論理アドレス範囲のサイズが他の論理アドレス 範囲のサイズと異なるように前記論理アドレス範囲を割り当てる、ことを特徴とする請 求項 1に記載のメモリコントローラ。
[7] 前記領域割当て手段は、書き換え頻度の高いデータを格納する論理アドレス範囲 のサイズを、他の論理アドレス範囲のサイズよりも小さなサイズに設定する、ことを特 徴とする請求項 2に記載のメモリコントローラ。
[8] 前記書き換え頻度の高いデータは、ファイル管理に使用される管理情報である、こ とを特徴とする請求項 7に記載のメモリコントローラ。
[9] 前記管理情報はファイルアロケーションテーブル (FAT)である、ことを特徴とする 請求項 8に記載のメモリコントローラ。
[10] 不揮発性メモリと、
前記不揮発性メモリに対してデータの書き込み、読み出しを行う、請求項 1ないし 9 のいずれ力 1つに記載のメモリコントローラと
を含む、ことを特徴とする不揮発性記憶装置。
[11] 請求項 10記載の不揮発性装置と、
前記不揮発性装置に対して論理アドレスを指定してアクセスするアクセス装置と を含む、ことを特徴とする不揮発性記憶システム。
[12] アクセス装置から与えられるコマンドと論理アドレスにしたカ^、データの書き込み、 読み出しを行 、、複数の物理ブロックを含む不揮発性メモリのアドレス管理方法であ つて、
論理アドレス空間全体を複数の論理アドレス範囲に分割し、各論理アドレス範囲毎 に個別のアドレス管理を行!、、
前記不揮発性メモリの記憶領域を物理的に複数の物理領域に分割し、論理アドレ ス範囲と物理領域とを対応づけて管理し、
少なくとも 1つの論理アドレス範囲について物理領域のサイズに対する論理アドレス 範囲のサイズの比を、他の論理アドレス範囲のものと異ならせるように前記論理アドレ ス範囲及び前記物理領域を割り当てる
ことを特徴とする不揮発性メモリのアドレス管理方法。
[13] 前記論理アドレス範囲は、各論理アドレス範囲のサイズが各々均等となるように割り 当てられ、前記物理領域は、少なくとも 1つの物理領域のサイズが他の物理領域のサ ィズと異なるように割り当てられる、ことを特徴とする請求項 12に記載のアドレス管理 方法。
[14] 書き換え頻度の高いデータを格納する論理アドレス範囲に対応した物理領域のサ ィズを、他の物理領域のサイズよりも大きなサイズに設定する、ことを特徴とする請求 項 13に記載のアドレス管理方法。
[15] 前記書き換え頻度の高いデータは、ファイル管理に使用される管理情報である、こ とを特徴とする請求項 14に記載のアドレス管理方法。
[16] 前記管理情報はファイルアロケーションテーブル (FAT)である、ことを特徴とする 請求項 15に記載のアドレス管理方法。
[17] 前記物理領域は、各物理領域のサイズが各々均等となるように割り当てられ、前記 論理アドレス範囲は、少なくとも 1つの論理アドレス範囲のサイズが他の論理アドレス 範囲のサイズと異なるように割り当てられる、ことを特徴とする請求項 12に記載のアド レス管理方法。
[18] 書き換え頻度の高いデータを格納する論理アドレス範囲のサイズを、他の論理アド レス範囲のサイズよりも小さなサイズに設定する、ことを特徴とする請求項 17に記載 のアドレス管理方法。
[19] 前記書き換え頻度の高いデータは、ファイル管理に使用される管理情報である、こ とを特徴とする請求項 18に記載のアドレス管理方法。
[20] 前記管理情報はファイルアロケーションテーブル (FAT)である、ことを特徴とする 請求項 19に記載のアドレス管理方法。
PCT/JP2006/314496 2005-07-29 2006-07-21 メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及び不揮発性メモリのアドレス管理方法 WO2007013372A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US11/814,202 US8051268B2 (en) 2005-07-29 2006-07-21 Memory controller, nonvolatile storage device, nonvolatile storage system, and nonvolatile memory address management method
JP2007528440A JP4679581B2 (ja) 2005-07-29 2006-07-21 メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及び不揮発性メモリのアドレス管理方法
EP06781418A EP1912123A4 (en) 2005-07-29 2006-07-21 MEMORY CONTROL UNIT, NON-VOLATILE MEMORY, NON-VOLATILE MEMORY SYSTEM, AND MEMORY ADDRESS MANAGEMENT METHOD

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005219958 2005-07-29
JP2005-219958 2005-07-29
JP2005331060 2005-11-16
JP2005-331060 2005-11-16

Publications (1)

Publication Number Publication Date
WO2007013372A1 true WO2007013372A1 (ja) 2007-02-01

Family

ID=37683270

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/314496 WO2007013372A1 (ja) 2005-07-29 2006-07-21 メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及び不揮発性メモリのアドレス管理方法

Country Status (4)

Country Link
US (1) US8051268B2 (ja)
EP (1) EP1912123A4 (ja)
JP (1) JP4679581B2 (ja)
WO (1) WO2007013372A1 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007172447A (ja) * 2005-12-26 2007-07-05 Jatco Ltd フラッシュメモリ
EP1953757A1 (en) * 2007-02-01 2008-08-06 Samsung Electronics Co., Ltd. Digital electronic device capable of memory formatting, a method of memory formatting,digital electronic device having a function of storing and method for storing thereof
JP2008226188A (ja) * 2007-03-15 2008-09-25 Tdk Corp メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP2009099149A (ja) * 2007-10-15 2009-05-07 A-Data Technology Co Ltd 適応ハイブリッド密度メモリ記憶装置の制御方法、及び適応ハイブリッド密度メモリ記憶装置
JP2009259145A (ja) * 2008-04-21 2009-11-05 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2011076497A (ja) * 2009-09-30 2011-04-14 Toshiba Corp 情報処理装置、半導体記憶装置、及びプログラム
WO2011068109A1 (ja) * 2009-12-03 2011-06-09 株式会社日立製作所 記憶装置、およびメモリコントローラ
WO2014038073A1 (ja) * 2012-09-07 2014-03-13 株式会社日立製作所 記憶装置システム
JP2017501489A (ja) * 2014-12-05 2017-01-12 華為技術有限公司Huawei Technologies Co.,Ltd. コントローラ、フラッシュメモリ装置、データブロック安定性を識別する方法、及びデータをフラッシュメモリ装置に記憶する方法
JP2018525719A (ja) * 2015-06-29 2018-09-06 華為技術有限公司Huawei Technologies Co.,Ltd. ストレージシステム、ストレージ管理装置、ストレージ、ハイブリッドストレージ装置およびストレージ管理方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009139109A1 (ja) * 2008-05-13 2009-11-19 パナソニック株式会社 メモリ制御装置、およびこれを備えた情報処理装置
CN102467459B (zh) * 2010-11-11 2015-05-06 群联电子股份有限公司 数据写入方法、存储器控制器与存储器储存装置
JP2012178194A (ja) * 2011-02-25 2012-09-13 Renesas Electronics Corp 不揮発性半導体記憶装置
US9501392B1 (en) * 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US8793429B1 (en) * 2011-06-03 2014-07-29 Western Digital Technologies, Inc. Solid-state drive with reduced power up time
US9218881B2 (en) * 2012-10-23 2015-12-22 Sandisk Technologies Inc. Flash memory blocks with extended data retention
US9158678B2 (en) * 2013-03-13 2015-10-13 Kabushiki Kaisha Toshiba Memory address management system and method
KR20150081635A (ko) * 2014-01-06 2015-07-15 삼성전자주식회사 불휘발성 반도체 메모리를 포함하는 저장 장치 및 그것의 관리 방법
KR102430198B1 (ko) 2014-06-12 2022-08-05 삼성전자주식회사 플래시 저장 장치의 어드레스 매핑 테이블 정리 방법
KR102498668B1 (ko) 2017-05-17 2023-02-09 삼성전자주식회사 플래시-인지 힙 메모리 관리 방법 및 호스트 장치
US10860474B2 (en) 2017-12-14 2020-12-08 Micron Technology, Inc. Multilevel addressing

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6611907B1 (en) 1999-10-21 2003-08-26 Matsushita Electric Industrial Co., Ltd. Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card
JP2003323352A (ja) 2002-02-26 2003-11-14 Hitachi Ltd メモリ装置
WO2004040455A2 (en) * 2002-10-28 2004-05-13 Sandisk Corporation Method and apparatus for splitting a logical block
WO2004040586A1 (en) 2002-10-28 2004-05-13 Sandisk Corporation Automated wear leveling in non-volatile storage systems
WO2004053888A2 (en) * 2002-12-09 2004-06-24 Sandisk Corporation Zone boundary adjustment for defects in non-volatile memories
JP2004326165A (ja) * 2003-04-21 2004-11-18 Toshiba Corp メモリ制御装置およびメモリ制御方法
JP2005107600A (ja) * 2003-09-26 2005-04-21 Tdk Corp メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP2006209608A (ja) * 2005-01-31 2006-08-10 Sony Corp メモリ制御装置、メモリ制御方法、プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0418638A (ja) * 1990-05-11 1992-01-22 Fujitsu Ltd 静的メモリ割当て処理方法
US6671791B1 (en) * 2001-06-15 2003-12-30 Advanced Micro Devices, Inc. Processor including a translation unit for selectively translating virtual addresses of different sizes using a plurality of paging tables and mapping mechanisms
US7433993B2 (en) * 2003-12-30 2008-10-07 San Disk Corportion Adaptive metablocks
KR100684942B1 (ko) * 2005-02-07 2007-02-20 삼성전자주식회사 복수의 사상 기법들을 채용한 적응형 플래시 메모리 제어장치 및 그것을 포함한 플래시 메모리 시스템
JP4418439B2 (ja) * 2006-03-07 2010-02-17 パナソニック株式会社 不揮発性記憶装置およびそのデータ書込み方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6611907B1 (en) 1999-10-21 2003-08-26 Matsushita Electric Industrial Co., Ltd. Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card
JP2003323352A (ja) 2002-02-26 2003-11-14 Hitachi Ltd メモリ装置
WO2004040455A2 (en) * 2002-10-28 2004-05-13 Sandisk Corporation Method and apparatus for splitting a logical block
WO2004040586A1 (en) 2002-10-28 2004-05-13 Sandisk Corporation Automated wear leveling in non-volatile storage systems
WO2004053888A2 (en) * 2002-12-09 2004-06-24 Sandisk Corporation Zone boundary adjustment for defects in non-volatile memories
JP2004326165A (ja) * 2003-04-21 2004-11-18 Toshiba Corp メモリ制御装置およびメモリ制御方法
JP2005107600A (ja) * 2003-09-26 2005-04-21 Tdk Corp メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP2006209608A (ja) * 2005-01-31 2006-08-10 Sony Corp メモリ制御装置、メモリ制御方法、プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1912123A4

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007172447A (ja) * 2005-12-26 2007-07-05 Jatco Ltd フラッシュメモリ
EP1953757A1 (en) * 2007-02-01 2008-08-06 Samsung Electronics Co., Ltd. Digital electronic device capable of memory formatting, a method of memory formatting,digital electronic device having a function of storing and method for storing thereof
US7913054B2 (en) 2007-02-01 2011-03-22 Samsung Electronics Co., Ltd. Digital electronic device capable of memory formatting, a method of memory formatting, digital electronic device having a function of storing and method for storing thereof
JP2008226188A (ja) * 2007-03-15 2008-09-25 Tdk Corp メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP2009099149A (ja) * 2007-10-15 2009-05-07 A-Data Technology Co Ltd 適応ハイブリッド密度メモリ記憶装置の制御方法、及び適応ハイブリッド密度メモリ記憶装置
JP2009259145A (ja) * 2008-04-21 2009-11-05 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2011076497A (ja) * 2009-09-30 2011-04-14 Toshiba Corp 情報処理装置、半導体記憶装置、及びプログラム
GB2488480A (en) * 2009-12-03 2012-08-29 Hitachi Ltd Storage device and memory controller
WO2011068109A1 (ja) * 2009-12-03 2011-06-09 株式会社日立製作所 記憶装置、およびメモリコントローラ
JP5480913B2 (ja) * 2009-12-03 2014-04-23 株式会社日立製作所 記憶装置、およびメモリコントローラ
US8949515B2 (en) 2009-12-03 2015-02-03 Hitachi, Ltd. Storage device and memory controller
GB2488480B (en) * 2009-12-03 2017-07-19 Hitachi Ltd Storage device and memory controller
WO2014038073A1 (ja) * 2012-09-07 2014-03-13 株式会社日立製作所 記憶装置システム
JP5820078B2 (ja) * 2012-09-07 2015-11-24 株式会社日立製作所 記憶装置システム
JP2017501489A (ja) * 2014-12-05 2017-01-12 華為技術有限公司Huawei Technologies Co.,Ltd. コントローラ、フラッシュメモリ装置、データブロック安定性を識別する方法、及びデータをフラッシュメモリ装置に記憶する方法
US9772790B2 (en) 2014-12-05 2017-09-26 Huawei Technologies Co., Ltd. Controller, flash memory apparatus, method for identifying data block stability, and method for storing data in flash memory apparatus
JP2018525719A (ja) * 2015-06-29 2018-09-06 華為技術有限公司Huawei Technologies Co.,Ltd. ストレージシステム、ストレージ管理装置、ストレージ、ハイブリッドストレージ装置およびストレージ管理方法

Also Published As

Publication number Publication date
US20090055618A1 (en) 2009-02-26
US8051268B2 (en) 2011-11-01
EP1912123A1 (en) 2008-04-16
JPWO2007013372A1 (ja) 2009-02-05
EP1912123A4 (en) 2008-10-29
JP4679581B2 (ja) 2011-04-27

Similar Documents

Publication Publication Date Title
JP4679581B2 (ja) メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及び不揮発性メモリのアドレス管理方法
KR100946286B1 (ko) 플래시 파일 시스템에서 가상-물리 주소 변환 방법 및 시스템
JP5005171B2 (ja) 論理ブロックをスプリットする方法および装置
JP4456486B2 (ja) 不揮発性記憶システムにおける摩耗一様化
JP4611024B2 (ja) ブロック内のページをグループ化する方法及び装置
JP4445394B2 (ja) 消去カウントブロックを管理する方法および装置
US5717886A (en) Semiconductor disk device and memory management method
US8327068B2 (en) Memory module, memory controller, nonvolatile storage, nonvolatile storage system, and memory read/write method
JP5480913B2 (ja) 記憶装置、およびメモリコントローラ
JPWO2005103903A1 (ja) 不揮発性記憶システム
US20100017557A1 (en) Memory controller, nonvolatile memory device,access device, and nonvolatile memory system
US20100064111A1 (en) Information processing device including memory management device managing access from processor to memory and memory management method
JP2008507756A (ja) 最適化されたシーケンシャルなクラスタの管理のためのfat分析
KR20050065632A (ko) 비휘발성 저장 시스템의 소거 카운트 유지 방법 및 장치
KR20050067203A (ko) 비휘발성 저장 시스템의 평균 소거 카운트 유지 방법 및장치
JP2006504221A (ja) 不揮発性記憶システムにおける最高頻度消去ブロックの追跡
JP2006221636A (ja) Run単位アドレスマッピングテーブル及びそれの構成方法
KR20100075769A (ko) 비휘발성 기억 장치, 정보 기록 시스템 및 정보 기록 방법
JP2010267290A (ja) 共通論理ブロックに関連付けられている物理ブロックを解決するための方法および装置
US20090210612A1 (en) Memory controller, nonvolatile memory device, and nonvolatile memory system
US20100180072A1 (en) Memory controller, nonvolatile memory device, file system, nonvolatile memory system, data writing method and data writing program
JP2012058770A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4130808B2 (ja) フォーマット方法
JP2004326165A (ja) メモリ制御装置およびメモリ制御方法
JP2009259145A (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200680006470.2

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 11814202

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2006781418

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2007528440

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE