IP Library Patent Application 12330116
Patent Application
App. No. 12/330,116

CONTINUOUS ADDRESS SPACE IN NON-VOLATILE-MEMORIES (NVM) USING EFFICIENT EMBEDDED MANAGEMENT OF ARRAY DEFICIENCIES

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
12/330,116
Abstract

The invention provides a method of managing bad block in a data storage device having an OTP memory die in order to present a continues address space toward the user, by using some of the OTP memory space for the management and maintaining address replacement table. Fast and efficient programming and writing algorithms are presented.

Claims (72)

1 . A method of programming non volatile memory having several defective blocks comprising:

when encountering a bad block during programming:

a) assigning a replacement block for programming data intended to be programmed in said bad block; and

b) presenting continues address space by embedded memory logic management.

2 . The method of claim 1 and further comprising:

updating a counter with the number of bad blocks when encountering a bad block during programming.

3 . The method of claim 2 wherein updating a counter comprises:

updating at least one bit in a non volatile memory.

4 . The method of claim 2 wherein updating a counter comprises updating a single bit in a non volatile memory.

5 . The method of claim 4 wherein updating the counter bits is conducted in a sequential order from LSB to MSB.

6 . The method of claim 2 wherein the step of assigning a replacement block for programming data intended to be programmed in said bad block comprises:

reading from said counter data indicative of number of bad blocks; and

assigning a replacement block by counting the number of blocks from the end of a dedicated spare blocks region according to the number of bad blocks indicated in said counter.

7 . The method of claim 1 and further comprising:

updating a redirection table with data indicative of the address of said assigned replacement block.

8 . The method of claim 7 wherein updating redirection table comprises:

changing a single word in said redirection table.

9 . The method of claim 8 wherein updating a word in said redirection table comprising: addressing a word with index equal to bad block address, and updating said word content with the assigned redirected block address.

10 . The method of claim 9 wherein, for a user data memory of 64K blocks or less, said updated word length is 16 bits or more.

11 . The method of claim 9 wherein, for a user data memory of 128K blocks or less, said updated word length is 17 bits or more.

12 . The method of claim 8 wherein un-updated word in said redirection table indicates a user data block that was not assigned a replacement block.

13 . The method of claim 1 and further comprising:

updating Fast Access Memory (FAM) table, indicating for each user data block logic address—if a replacement block was assigned or not.

14 . The method of claim 13 wherein FAM table associates a single bit with at least single block in the user's data section.

15 . The method of claim 13 wherein bits in FAM table are having index indicating the block address, and wherein the bit content indicates if the block has been redirected or not.

16 . The method of claim 13 wherein updating FAM table is done by changing a single bit.

17 . The method according to claim 1 wherein assigning alternative spare block comprising:

identifying a bad block while attempting and failing to program user data page;

programming said user data page in the corresponding page in the assigned redirected block; and

if said failing page is not the first page in the defected block, copying preceding pages already programmed in the bad block, from said bad block to the assigned redirected block.

18 . The method according to claim 17 wherein copying preceding pages already programmed from the bad block to the assigned redirected block comprising:

reading data from a page to be copied to logic; and

writing the page data to the corresponding page in redirected block.

19 . The method according to claim 18 and further comprising:

reading data from a page to be copied to logic;

loading said page data to data storage controller;

verifying data content using Error Correction Code (ECC), and fixing detected errors using ECC if so required;

writing data from said storage controller to said logic; and

writing the page data to said redirected block.

20 . A method of programming non volatile memory having several defective blocks comprising:

checking logic addresses in FAM table to find if the page to be programmed belong to defected block or to a non-defective block.

21 . The method of claim 20 wherein, if FAM table indicates that said logic address is associated with a defective block—reading address of redirected block from a redirection table.

22 . A method of reading user data page, in a continuous logical address space NVM, having several defective blocks, comprising:

using embedded memory logic management, reading from a redirection table, data indicative of actual address of redirected blocks; and

presenting continues address space by embedded memory logic management.

23 . The method of claim 22 and further comprising:

reading from Fast Access Memory (FAM) table data indicative if said logical address is associated with a redirected block; and

if FAM table data indicates that said logical address is associated with a redirected block—reading from a redirection table data indicative of address of said redirected block.

24 . A non-volatile memory device capable of automatically handling defective cells and generating continuous address space comprising:

a memory array comprising:

uer data region; and

code region comprising:

Fast Access Memory (FAM) table;

counter table; and

spare blocks region; and

logic circuit for writing and reading from the memory array region.

25 . The device of claim 24 wherein user data region further comprises a redirection table.

26 . The device of claim 24 wherein the code region comprises a redirection table.

27 . The device of claim 24 wherein the user data region capable of high density data storage is capable of storing at least two bits per cell.

28 . The device of claim 27 wherein the user data region capable of high density data storage is capable of storing at least four bits per cell.

29 . The device of claim 24 wherein the spare block region is at least 1% of the total capacity of the user data region.

30 . The device of claim 24 wherein the spare blocks region is located at the last functional address space.

31 . The device of claim 24 wherein the size of spare block region is determent by the number of bad blocks.

32 . The device of claim 24 wherein the code data region has accessibility resolution of single bit.

33 . The device of claim 24 wherein the code data region comprising same cell structures as in user data region.

34 . The device of claim 24 wherein the code data region comprising of cells capable of storing one bit per cell.

35 . The device of claim 24 wherein the code data region comprising of cells capable of storing two bits per cell.

36 . The device of claim 24 wherein the code data region comprising cells having at least 50% wider cell structure than the user region cell's width.

37 . The device of claim 24 wherein the non-volatile memory is constructed from NROM array.

38 . The device of claim 24 wherein the non-volatile memory is constructed from OTP cells.

39 . The device of claim 24 wherein the non-volatile memory is constructed from NAND flash cells.

40 . The device of claim 24 wherein said device is monolithic.

Assignments (2)
U.S. INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jun 14, 2010
From: INFINITE MEMORIES LTD.
To: KREOS CAPITAL III LIMITED
Reel/Frame 024532/0829 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2009
From: GABAI, AMIR; YOGEV, YOAV; AVNI, DROR; LUSKY, ELI
To: INFINITE MEMORIES LTD.
Reel/Frame 022374/0783 →