Knowledge (XXG)

Wear leveling

Source 📝

1323: 172:(OS) to the physical addresses of the flash memory. This means that every write to a previously written block must first be read, erased, modified, and re-written to the same location. This approach is very time-consuming and frequently written locations will wear out quickly, while other locations will not be used at all. Once a few blocks reach their end of life, such a device becomes inoperable. 205:
which also uses a map to link the LBA to physical memory addresses. Static wear leveling works the same as dynamic wear leveling except the static blocks that do not change are periodically moved so that these low usage cells are able to be used by other data. This rotational effect enables an SSD to
111:
Wear leveling attempts to work around these limitations by arranging data so that erasures and re-writes are distributed evenly across the medium. In this way, no single erase block prematurely fails due to a high concentration of write cycles. In flash memory, a single block on the chip is designed
87:
and flash memory media have individually erasable segments, each of which can be put through a limited number of erase cycles before becoming unreliable. This is usually around 3,000/5,000 cycles but many flash devices have one block with a specially extended life of 100,000+ cycles that can be used
214:
Both dynamic and static wear leveling are implemented at the local level. This simply means that in a multi-chip product, every chip is managed as a single resource. The number of defective blocks in different chips within a NAND flash memory varies: a given chip could have all its data blocks worn
215:
out while another chip in the same device could have all its blocks still active. Global wear leveling addresses this problem by managing all blocks from all chips in the flash memory together―in a single pool. It ensures that all the cells in all the chips within the product are worn out evenly.
192:
data, and a new block is linked to that map entry. Each time a block of data is re-written to the flash memory, it is written to a new location. However, flash memory blocks that never get replacement data would sustain no additional wear, thus the name comes only from the dynamic data being
143:
were originally designed for magnetic disks and as such rewrite many of their data structures (such as their directories) repeatedly to the same area. When these systems are used on flash memory media, this becomes a problem. The problem is aggravated by the fact that some file systems track
312:(LFU) queue. The data structures for the queue itself must either be stored off-device or in such a way that the space it uses is itself wear-leveled or, in the case of flash memory, in a block with a specially extended life. However, usual 1253: 324:
storage devices as they have an asymmetrical nature – reads are usually much faster than writes, and erase operations can be performed only one "block" at a time.
168:
will not last very long if data is written to the flash. Without wear leveling, the underlying flash controller must permanently assign the logical addresses from the
193:
recycled. Such a device may last longer than one with no wear leveling, but there are blocks still remaining as active even though the device is no longer operable.
955: 563: 786: 305:
A pool of reserve space can also be kept. When a block or sector does fail, future reads and writes to it can be redirected to a replacement in that pool.
188:(LBAs) from the OS to the physical flash memory. Each time the OS writes replacement data, the map is updated so the original physical block is marked as 439: 346: 1288: 1263: 1118: 735: 1364: 1327: 1278: 484: 76:(HDDs) designed for storing audio and video data. However, HDDs generally are not wear-leveled devices in the context of this article. 1134: 758: 677: 520: 128: 779: 1293: 814: 299: 112:
for longer life than the others so that the memory controller can store operational data with less chance of its corruption.
1369: 545: 61:. There are several wear leveling mechanisms that provide varying levels of longevity enhancement in such memory systems. 1354: 1359: 1283: 945: 372:
in that they treat their media as circular logs and write to them in sequential passes. File systems which implement
772: 369: 571: 1349: 1083: 839: 327: 450: 1215: 834: 89: 1073: 1273: 592:"Algorithms and data structures for flash memories", E. Gal, and S. Toledo, ACM Computing Surveys, 2005 365: 350: 309: 185: 120: 1169: 317: 136: 1021: 915: 894: 879: 874: 864: 709: 334: 58: 1068: 1026: 713: 495: 564:"SSDs Shifting to 25nm NAND - What You Need to Know | StorageReview.com - Storage Reviews" 1016: 910: 819: 795: 394: 389: 156:
There are three basic types of wear leveling mechanisms used in flash memory storage devices:
50: 1005:(bankrupt, assets sold to Toshiba, which later spun off its SSD and flash business to Kioxia) 884: 859: 829: 313: 169: 124: 42: 1192: 1052: 970: 935: 356:
Wear leveling can also be implemented in software by special-purpose file systems such as
342: 338: 73: 69: 54: 17: 1210: 1098: 491: 524: 302:
code can be kept for each block or sector in order to detect errors or correct errors.
1343: 1303: 1140: 373: 1308: 1158: 869: 854: 824: 652: 321: 93: 46: 38: 1268: 1207: 1152: 1146: 116: 1163: 1093: 809: 413: 1031: 980: 240: 1038: 1008: 920: 849: 446: 206:
continue to operate until most of the blocks are near their end of life.
145: 132: 1047:'s NAND flash SSD business including controllers and renamed it Solidigm 1078: 975: 632: 607: 105: 1088: 997: 939: 764: 759:
Flash SSDs – Inferior Technology or Closet Superstar?
101: 84: 628: 603: 1258: 1237: 1220: 1197: 1044: 926: 361: 357: 97: 1298: 990: 985: 844: 140: 768: 223:
The following table compares static and dynamic wear leveling:
1232: 1227: 1202: 1175: 1002: 761:, bitmicro.com, archived from the original on February 2, 2007 377: 92:
to track wear and movement of data across segments. Erasable
294:
There are several techniques for extending the media life:
341:, techniques are implemented in hardware by a built-in 320:-based caches, making them not directly suitable for 316:
are designed to manage the data flow into and out of
104:
are rated at up to 1,000 cycles (100,000 cycles for
1246: 1185: 1127: 1111: 1061: 963: 954: 903: 802: 736:"Why Standard Cache Algorithms Won't Work For SSDs" 521:"Western Digital AV Hard Drive Product Information" 308:Blocks or sectors on the media can be tracked in a 929:'s NAND flash SSD business and renamed it Solidigm 417:Wear leveling techniques for flash memory systems. 72:to describe their preservation technique used on 780: 27:Operating principle for certain storage media 8: 678:"Wear Leveling – Static, Dynamic and Global" 960: 787: 773: 765: 604:"Optimizing Linux with cheap flash drives" 433: 431: 429: 427: 425: 423: 380:, also implement a form of wear leveling. 225: 201:The other type of wear leveling is called 180:The first type of wear leveling is called 144:last-access times, which can lead to file 546:"So you wanna buy a SSD? Read this first" 479: 477: 475: 473: 471: 1119:List of solid-state drive manufacturers 485:"USB Flash Wear-Leveling and Life Span" 405: 349:, and conventional file system such as 934:Flash Forward (joint venture between 710:"Swissbit Industrial SD Memory Cards" 704: 702: 148:being constantly rewritten in-place. 7: 345:. On such devices, wear leveling is 37:) is a technique for prolonging the 570:. February 12, 2011. Archived from 164:A flash memory storage system with 1135:Advanced Host Controller Interface 25: 523:. Western Digital. Archived from 1322: 1321: 440:"Wear Leveling Application Note" 368:on optical media. All three are 627:Jonathan Corbet (2007-08-08). 280:industrial-grade flash drives 1: 1365:Solid-state computer storage 602:Arnd Bergmann (2011-02-18). 283:Consumer-grade flash drives 494:. June 2007. Archived from 370:log-structured file systems 353:can be used on them as-is. 1386: 438:Perdue, Ken (2010-04-30). 184:and it uses a map to link 41:of some kinds of erasable 1317: 734:Qing Yang (2012-02-25). 248:Shorter life expectancy 66:preemptive wear leveling 18:Preemptive wear leveling 835:Flash memory controller 245:Longer life expectancy 186:logical block addresses 90:Flash memory controller 68:(PWL) has been used by 1259:JEDEC / JC-42, JC-64.8 1247:Related organizations 568:www.storagereview.com 414:U.S. patent 6,850,443 310:least frequently used 182:dynamic wear leveling 176:Dynamic wear leveling 1370:Balancing technology 1176:Universal Serial Bus 1170:Serial attached SCSI 376:strategies, such as 335:Secure Digital cards 210:Global wear leveling 203:static wear leveling 197:Static wear leveling 1355:Non-volatile memory 904:Flash manufacturers 895:Write amplification 880:Solid-state storage 574:on December 5, 2019 59:phase-change memory 49:, which is used in 1360:Flash file systems 1069:Greenliant Systems 840:Garbage collection 796:Solid-state drives 714:Mouser Electronics 552:. 10 January 2011. 501:on 13 October 2007 364:on flash media or 328:Garbage collection 264:Design complexity 51:solid-state drives 1337: 1336: 1269:NVMHCI Work Group 1112:SSD manufacturers 1107: 1106: 865:Over-provisioning 820:Flash file system 629:"Once upon atime" 395:Battery balancing 390:Flash file system 287: 286: 33:(also written as 16:(Redirected from 1377: 1325: 1324: 1193:HDD form factors 961: 860:Open-channel SSD 789: 782: 775: 766: 747: 746: 744: 743: 731: 725: 724: 722: 720: 706: 697: 696: 694: 692: 682: 674: 668: 667: 665: 663: 649: 643: 642: 640: 639: 624: 618: 617: 615: 614: 599: 593: 590: 584: 583: 581: 579: 560: 554: 553: 550:Hardware Canucks 542: 536: 535: 533: 532: 517: 511: 510: 508: 506: 500: 489: 481: 466: 465: 463: 461: 455: 449:. Archived from 444: 435: 418: 416: 410: 339:USB flash drives 314:cache algorithms 300:error-correcting 226: 170:operating system 166:no wear leveling 160:No wear leveling 74:hard disk drives 55:USB flash drives 43:computer storage 21: 1385: 1384: 1380: 1379: 1378: 1376: 1375: 1374: 1350:Computer memory 1340: 1339: 1338: 1333: 1313: 1242: 1181: 1123: 1103: 1057: 1011:(bought by OCZ) 971:Western Digital 950: 936:Western Digital 899: 803:Key terminology 798: 793: 755: 750: 741: 739: 733: 732: 728: 718: 716: 708: 707: 700: 690: 688: 680: 676: 675: 671: 661: 659: 653:"Wear Leveling" 651: 650: 646: 637: 635: 626: 625: 621: 612: 610: 601: 600: 596: 591: 587: 577: 575: 562: 561: 557: 544: 543: 539: 530: 528: 519: 518: 514: 504: 502: 498: 487: 483: 482: 469: 459: 457: 453: 442: 437: 436: 421: 412: 411: 407: 403: 386: 343:microcontroller 292: 279: 221: 212: 199: 178: 162: 154: 82: 70:Western Digital 45:media, such as 28: 23: 22: 15: 12: 11: 5: 1383: 1381: 1373: 1372: 1367: 1362: 1357: 1352: 1342: 1341: 1335: 1334: 1332: 1331: 1318: 1315: 1314: 1312: 1311: 1306: 1301: 1296: 1291: 1286: 1281: 1276: 1271: 1266: 1261: 1256: 1250: 1248: 1244: 1243: 1241: 1240: 1235: 1230: 1225: 1224: 1223: 1213: 1211:expansion card 1205: 1200: 1195: 1189: 1187: 1186:Configurations 1183: 1182: 1180: 1179: 1173: 1167: 1161: 1156: 1150: 1144: 1138: 1131: 1129: 1125: 1124: 1122: 1121: 1115: 1113: 1109: 1108: 1105: 1104: 1102: 1101: 1096: 1091: 1086: 1081: 1076: 1071: 1065: 1063: 1059: 1058: 1056: 1055: 1050: 1049: 1048: 1036: 1035: 1034: 1024: 1019: 1014: 1013: 1012: 1006: 995: 994: 993: 988: 983: 978: 967: 965: 958: 952: 951: 949: 948: 943: 932: 931: 930: 918: 913: 907: 905: 901: 900: 898: 897: 892: 887: 882: 877: 872: 867: 862: 857: 852: 847: 842: 837: 832: 827: 822: 817: 812: 806: 804: 800: 799: 794: 792: 791: 784: 777: 769: 763: 762: 754: 753:External links 751: 749: 748: 726: 698: 669: 644: 619: 594: 585: 555: 537: 512: 467: 419: 404: 402: 399: 398: 397: 392: 385: 382: 331: 330: 325: 306: 303: 298:A checksum or 291: 288: 285: 284: 281: 276: 272: 271: 268: 265: 261: 260: 257: 254: 250: 249: 246: 243: 237: 236: 233: 230: 220: 217: 211: 208: 198: 195: 177: 174: 161: 158: 153: 150: 81: 78: 35:wear levelling 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 1382: 1371: 1368: 1366: 1363: 1361: 1358: 1356: 1353: 1351: 1348: 1347: 1345: 1330: 1329: 1320: 1319: 1316: 1310: 1307: 1305: 1302: 1300: 1297: 1295: 1292: 1290: 1287: 1285: 1284:SFF Committee 1282: 1280: 1277: 1275: 1272: 1270: 1267: 1265: 1262: 1260: 1257: 1255: 1252: 1251: 1249: 1245: 1239: 1236: 1234: 1231: 1229: 1226: 1222: 1219: 1218: 1217: 1214: 1212: 1209: 1206: 1204: 1201: 1199: 1196: 1194: 1191: 1190: 1188: 1184: 1177: 1174: 1171: 1168: 1165: 1162: 1160: 1157: 1154: 1151: 1148: 1145: 1142: 1141:Fibre Channel 1139: 1136: 1133: 1132: 1130: 1126: 1120: 1117: 1116: 1114: 1110: 1100: 1097: 1095: 1092: 1090: 1087: 1085: 1082: 1080: 1077: 1075: 1072: 1070: 1067: 1066: 1064: 1060: 1054: 1051: 1046: 1042: 1041: 1040: 1037: 1033: 1030: 1029: 1028: 1025: 1023: 1020: 1018: 1015: 1010: 1007: 1004: 1001: 1000: 999: 996: 992: 989: 987: 984: 982: 979: 977: 974: 973: 972: 969: 968: 966: 962: 959: 957: 953: 947: 944: 941: 937: 933: 928: 924: 923: 922: 919: 917: 914: 912: 909: 908: 906: 902: 896: 893: 891: 890:Wear leveling 888: 886: 883: 881: 878: 876: 873: 871: 868: 866: 863: 861: 858: 856: 853: 851: 848: 846: 843: 841: 838: 836: 833: 831: 828: 826: 823: 821: 818: 816: 813: 811: 808: 807: 805: 801: 797: 790: 785: 783: 778: 776: 771: 770: 767: 760: 757: 756: 752: 738:. velobit.com 737: 730: 727: 715: 711: 705: 703: 699: 686: 679: 673: 670: 658: 654: 648: 645: 634: 630: 623: 620: 609: 605: 598: 595: 589: 586: 573: 569: 565: 559: 556: 551: 547: 541: 538: 527:on 2010-01-02 526: 522: 516: 513: 497: 493: 486: 480: 478: 476: 474: 472: 468: 456:on 2011-06-07 452: 448: 441: 434: 432: 430: 428: 426: 424: 420: 415: 409: 406: 400: 396: 393: 391: 388: 387: 383: 381: 379: 375: 374:copy-on-write 371: 367: 363: 359: 354: 352: 348: 344: 340: 336: 329: 326: 323: 319: 315: 311: 307: 304: 301: 297: 296: 295: 289: 282: 277: 274: 273: 270:Less complex 269: 267:More complex 266: 263: 262: 258: 255: 252: 251: 247: 244: 242: 239: 238: 234: 231: 228: 227: 224: 218: 216: 209: 207: 204: 196: 194: 191: 187: 183: 175: 173: 171: 167: 159: 157: 151: 149: 147: 142: 138: 134: 130: 126: 122: 118: 115:Conventional 113: 109: 107: 103: 99: 95: 94:optical media 91: 86: 79: 77: 75: 71: 67: 62: 60: 56: 52: 48: 44: 40: 36: 32: 31:Wear leveling 19: 1326: 1159:SATA Express 889: 885:Trim command 875:Secure erase 870:Read disturb 825:Flash memory 740:. Retrieved 729: 717:. Retrieved 689:. Retrieved 684: 672: 660:. Retrieved 656: 647: 636:. Retrieved 622: 611:. Retrieved 597: 588: 576:. Retrieved 572:the original 567: 558: 549: 540: 529:. Retrieved 525:the original 515: 503:. Retrieved 496:the original 458:. Retrieved 451:the original 408: 355: 332: 293: 275:Typical use 253:Performance 222: 213: 202: 200: 189: 181: 179: 165: 163: 155: 117:file systems 114: 110: 83: 65: 63: 47:flash memory 39:service life 34: 30: 29: 1216:Thunderbolt 1208:PCI Express 1153:PCI Express 1147:NVM Express 1062:Independent 956:Controllers 855:Memory wear 691:20 November 662:20 November 578:December 5, 347:transparent 322:flash-based 53:(SSDs) and 1344:Categories 1221:USB Type-C 1164:Serial ATA 1128:Interfaces 1094:PMC-Sierra 810:Encryption 742:2013-11-26 638:2014-01-21 613:2013-10-03 531:2010-06-01 401:References 290:Techniques 219:Comparison 1032:SandForce 981:Fusion-io 657:Transcend 460:12 August 241:Endurance 80:Rationale 64:The term 1328:Category 1299:T10/SCSI 1079:Maxiotek 1039:SK Hynix 1009:Indilinx 921:SK Hynix 719:21 April 447:Spansion 384:See also 235:Dynamic 146:metadata 119:such as 108:media). 96:such as 1309:T13/ATA 1279:SATA-IO 1084:Marvell 1043:Bought 1027:Seagate 1022:Samsung 976:SanDisk 964:Captive 925:Bought 916:Samsung 830:SLC/MLC 633:LWN.net 608:LWN.net 505:27 July 492:Corsair 259:Faster 256:Slower 232:Static 190:invalid 106:DVD-RAM 88:by the 1304:T11/FC 1274:USB-IF 1254:INCITS 1166:(SATA) 1155:(PCIe) 1149:(NVMe) 1137:(AHCI) 1089:Phison 1017:Micron 998:Kioxia 940:Kioxia 911:Micron 685:Cactus 278:SSDs, 139:, and 102:DVD-RW 85:EEPROM 57:, and 1238:EDSFF 1198:mSATA 1178:(USB) 1172:(SAS) 1045:Intel 927:Intel 681:(PDF) 499:(PDF) 488:(PDF) 454:(PDF) 443:(PDF) 362:YAFFS 358:JFFS2 229:Item 152:Types 98:CD-RW 1294:SSSI 1289:SNIA 1264:ONFI 1143:(FC) 1074:Goke 1053:FADU 991:sTec 986:HGST 946:YMTC 938:and 850:MB/s 845:IOPS 721:2017 693:2019 664:2019 580:2019 507:2013 462:2010 360:and 337:and 141:NTFS 133:HFS+ 100:and 1233:U.3 1228:U.2 1203:M.2 1099:SMI 1003:OCZ 815:ECC 687:: 5 378:ZFS 366:UDF 351:FAT 333:On 318:RAM 137:EXT 129:HFS 125:UFS 121:FAT 1346:: 712:. 701:^ 683:. 655:. 631:. 606:. 566:. 548:. 490:. 470:^ 445:. 422:^ 135:, 127:, 123:, 942:) 788:e 781:t 774:v 745:. 723:. 695:. 666:. 641:. 616:. 582:. 534:. 509:. 464:. 131:/ 20:)

Index

Preemptive wear leveling
service life
computer storage
flash memory
solid-state drives
USB flash drives
phase-change memory
Western Digital
hard disk drives
EEPROM
Flash memory controller
optical media
CD-RW
DVD-RW
DVD-RAM
file systems
FAT
UFS
HFS
HFS+
EXT
NTFS
metadata
operating system
logical block addresses
Endurance
error-correcting
least frequently used
cache algorithms
RAM

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.