The invention discloses a flash memory and a bad block managing method of the flash memory, and relates to the technical field of NANDFlash memories. The flash memory comprises a bad block detection module, a bad block address table memory module and a block address mapping module. The bad block detection module detects a block address corresponding to access operation initiated by a user and judges whether a block is a bad block or not, the bad block address table memory module conducts memory on the block address of the bad block judged by the bad block detection module, when the block address mapping module receives the access operation initiated by the user, the block address mapping module inquires whether the block address, corresponding to the access operation, in the logic address is the block address of the bad block or not from the bad block address table memory module, and if the block address, corresponding to the access operation, in the logic address is the block address of the bad block, the block address, corresponding to the access operation, in the logic address is mapped to the block address of a good block, and then is sent into the flash memory to conduct address decoding. The invention further discloses a bad block managing method by the flash memory. According to the technical scheme, the reliability of the system is improved, and the bottleneck of a SPI NAND Flash application is overcome.