IP Library Granted Patent US 7,398,348
Granted Patent B2
US 7,398,348 · App. 10/956,463 · Granted Jul 8, 2008

Method and apparatus for using a one-time or few-time programmable memory with a host device designed for erasable/rewritable memory

View Patent ↗
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 7,398,348
App. No.
10/956,463
Granted
Jul 8, 2008
Kind
B2
Abstract

The embodiments described herein can be used to enable one-time or few-time programmable memories to work with existing consumer electronic devices (such as those that work with flash—an erasable, non-volatile memory) without requiring a firmware upgrade, thereby providing backwards compatibility while minimizing user impact. As such, these embodiments are a viable way to bridge one-time or few-time programmable memories with existing consumer electronic devices that have flash card slots. These embodiments also allow future consumer electronic devices to be designed without updating firmware to include a file system customized for a one-time or few-time programmable memory.

Claims (43)

1. A memory device comprising:

a memory array; and

a controller in communication with the memory array, wherein the controller is operative to:

(a) receive a request from a host device in communication with the memory device to write data to a first address in the memory array;

(b) compare the data requested to be written to the first address with data contained in the first address; and

(c) based on the comparison in (b), perform one of the following:

(c1) write the data to the first address;

(c2) without writing the data to the first address, inform the host device that the data was written to the first address; and

(c3) write the data to a second address instead of the first address.

2. The memory device of claim 1 , wherein the controller is operative to perform (c1) in response to the first address containing a set of un-programmed memory cells.

3. The memory device of claim 1 , wherein the controller is operative to perform (c1) if the data requested to be written to the first address appends data contained in the first address.

4. The memory device of claim 1 , wherein the data contained in the first address comprises a file system structure.

5. The memory device of claim 1 , wherein the controller is operative to perform (c2) in response to the host attempting to write, in a file allocation table, data that indicates a previously-allocated address is free.

6. The memory device of claim 1 , wherein the controller is operative to perform (c2) in response to the host attempting to write data only to a predetermined field in a file listing.

7. The memory device of claim 1 , wherein the controller is operative to perform (c2) in response to the host attempting to write data only to a last accessed date field.

8. The memory device of claim 1 , wherein the controller is operative to perform (c2) in response to the host attempting to write data only to a predetermined field in a directory listing.

9. The memory device of claim 1 , wherein the controller is operative to perform (c3) if the data requested to be written to the first address is different from the data contained in the first address.

10. The memory device of claim 1 , wherein the controller is operative to perform (c3) if the data requested to be written to the first address is different from the data contained in the first address and the difference is not located only in a predetermined field in a file listing.

11. The memory device of claim 1 , wherein the controller is operative to perform (c3) if the data requested to be written to the first address is different from the data contained in the first address and the difference is not located only in a predetermined field in a directory listing.

12. The memory device of claim 1 , wherein the controller is operative to generate an error in response to an attempt to format the memory device.

13. The memory device of claim 1 , wherein the controller is operative to generate an error in response to an attempt to write data to an address preceding an address of a file allocation table.

14. The memory device of claim 1 , wherein the controller is further operative to generate an error in response to an attempt to write data to a predetermined address in the memory array.

15. The memory device of claim 1 , wherein the controller is operative to generate an error in response to the memory array being full.

16. The memory device of claim 1 , wherein the controller is further operative to update a file allocation table in the memory array to indicate that the second address is no longer free when performing (c3).

17. The memory device of claim 1 , wherein the memory array is organized into logical units that can be partially written into, whereby multiple write operations can be performed to each logical unit before the logic unit is full, and wherein the controller is operative to write ECC data for a logical unit when a last write operation is made to the logical unit.

18. The memory device of claim 1 , wherein the controller comprises:

a first page register; and

a second page register;

wherein the data contained in the first address is written in the first page register while the data to be written to the first address is written in the second page register.

19. The memory device of claim 1 , wherein the memory array comprises a one-time programmable memory array.

20. The memory device of claim 1 , wherein the memory array comprises a few-time programmable memory array.

21. The memory device of claim 1 , wherein the memory array comprises a three-dimensional memory array.

22. The memory device of claim 1 , wherein the memory device comprises an electrical connector configured to mate with a corresponding electrical connector on the host device, and wherein the host device comprises a write-many file system.

23. A memory device comprising:

a memory array storing a file system structure; and

a controller in communication with the memory array, wherein the controller is operative to:

(a) receive a request from a host device in communication with the memory device to write, in the file system structure, data that indicates a previously-allocated address is free; and

(b) without writing the data in the file system structure, inform the host device that the data was written in the file system structure.

24. The memory device of claim 23 , wherein the file system structure comprises a file allocation table.

25. The memory device of claim 23 , wherein the data comprises us.

26. The memory device of claim 23 , wherein the memory array comprises a one-time programmable memory array.

27. The memory device of claim 23 , wherein the memory array comprises a few-time programmable memory array.

28. The memory device of claim 23 , wherein the memory array comprises a three-dimensional memory array.

Assignments (9)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2024
From: SANDISK TECHNOLOGIES LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069796/0423 →
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038813/0004 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT LISTED PATENT NUMBER 8853569 TO THE CORRECT PATENT NUMBER 8883569 PREVIOUSLY RECORDED ON REEL 038300 FRAME 0665. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 25, 2016
From: SANDISK 3D LLC
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 038520/0552 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2016
From: SANDISK 3D LLC.
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 038300/0665 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CORRECTIVE MERGER TO ADD PAGES TO THE MERGER DOCUMENT PREVIOUSLY RECORDED PREVIOUSLY RECORDED ON REEL 017544 FRAME 0769. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 2, 2007
From: MATRIX SEMICONDUCTOR, INC.
To: SANDISK 3D LLC
Reel/Frame 018950/0686 →
MERGER Recorded Apr 28, 2006
From: MATRIX SEMICONDUCTOR, INC.
To: SANDISK 3D LLC
Reel/Frame 017544/0769 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2004
From: MOORE, CHRISTOPHER S.; JEDAY, ADRIAN; FRUIN, MATT; YANG, CHIA; BOSCH, DEREK
To: MATRIX SEMICONDUCTOR, INC.
Reel/Frame 015865/0296 →